以下のシェルスクリプトのコードを実行したのですが、terminalにパスワードを入力するように促すコメントが出てしまい、sudoの命令が実行されません。
#!/bin/sh for i in `seq 1 40` do echo "パスワード" | sudo -S sh -c "echo 1 > /proc/sys/vm/drop_caches" cd /var/www/path/to/directory php sample.php $i echo "パスワード" | sudo -S sh -c "echo 1 > /proc/sys/vm/drop_caches" done
"パスワード"のところはsudoで要求されるパスワードを書いています。
またphpのファイルは実行されています。phpファイルの内容はcsvファイルのデータを読み込んでDBに挿入するものです。
使用するメモリの量を下げるために、処理の始めと終わりにメモリを解放する(キャッシュを消す?)命令を書いたのですが、forループの数回目でどういうわけか
[sudo] password for ユーザー名 :
が表示されてしまい、"echo 1 > /proc/sys/vm/drop_caches"の部分が実行されません。
当方あまりシェルやphpに詳しくはないので、原因がわかる方がいらっしゃいましたらご回答いただけると幸いです。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー