Bashスクリプトの絶対パス

Bashスクリプトの絶対パス

myscript.shなどのコマンドを呼び出すシェルスクリプトがありますmycmd。たとえば、端末でスクリプトを実行すると、./myscript.shすべてがうまく機能します。

しかし、crontabにスクリプトを追加すると、出力は空ですmycmd。私が電話したとき、/usr/local/bin/mycmdすべてがmyscript.sh正常に戻った。

それでは、実行可能ファイルへの絶対パスを使用する必要があるのはなぜですか?$PATH「cron-bash」にないからですか?

ベストアンサー1

あなたは正しいです。環境にはおそらく含まれていないcron環境があります。スクリプトの次の場所にディレクトリを追加すると、この問題を解決できます。PATH/usr/local/bin/PATH

PATH="$PATH:/usr/local/bin/"

しかし、ベストプラクティスは(例えば)便利に呼び出される悪意のある設計されたプログラムですcpPATH/bin

おすすめ記事