cronで実行した場合のパスの違い
cronで実行した場合とそうでない場合のパスの違いについて調べました。
環境
CentOS 6.5
調査方法
/etc/profile の最初の方で echo $PATH
しました。
ターミナルでログインした場合
通常のターミナルからのログインでは、PATHの値は以下のようになりました。
/usr/local/bin:/bin:/usr/bin
cronで実行した場合
cronで /bin/bash -l -c 'echo $PATH >> /tmp/path.txt'
を実行すると、PATHの値は以下のようになりました。
/usr/bin:/bin
cronで実行した場合は、PATHに /usr/local/bin
が入りません。
cronで /usr/local/bin のコマンドを使うには?
cronファイルの最初の方で、以下のようにPATHを設定します:
PATH=/usr/local/bin:/bin:/usr/bin
これで /usr/local/bin
のコマンドが使えるようになります。