cronからだと環境変数の値が期待通りに返ってこない
メモ
はじめの方に「export $PATH」的なことをやったらうまくいった
コマンドから実行するとexample.sh内で定義している
変数current_dirにはそのファイル自身(example.sh)があるディレクトリまでのパスを取得できる。
$ sh example.sh
#example.sh current_dir=$PWD
しかしcrontab -eから実行するとrootユーザーで実行した場合
$PWDは/rootが表示される。
解決法としてdirnameコマンドを使ってファイルまでのパスを取得するようにした。
ちなみにシェルスクリプト内で自分自身のファイル名は「$0」で取得できる。
cronで実行された example.sh
#example.sh current_dir=`dirname $0`
他にも色々と参考にした記事をみると、相対パスで色々処理したい場合cdで移動して
目的のファイルまで移動して処理するのが良いみたい。
絶対パスを使えば関係ないけど。