/etc/init.d のシェル ファイル内のコマンドからファイルを削除するにはどうすればよいですか?

/etc/init.d のシェル ファイル内のコマンドからファイルを削除するにはどうすればよいですか?

/etc/init.dシェル スクリプトの操作について質問があります。

私がやりたいのは、次のようにシェル スクリプト内のコマンドからファイルを削除することだけです。

case $1 in

stop)
  echo "Stopping"
  rm -f /var/run/memcached/memcached.pid

esac

テストとして保存し、memcached.pidファイルを作成します。

フォルダー/etc/init.d/test内からスクリプトで停止を実行しても、ファイルは削除されません。/etc/init.d/memcached.pid

ホームディレクトリからスクリプトを実行すると、正常に動作します。

必要なコマンドの特別な形式または構造はありますか?

答え1

rm へのフルパスを使用します。システム上で同じであることを確認します。

 /usr/bin/rm -f /var/run/memcached/memcached.pid

通常、init スクリプトでは (またはルートの) PATH 環境変数は設定されません。

関連情報