シェルスクリプトの実行ディレクトリをスクリプトファイルのある場所にする

nbeppu 81views 更新:2015年3月17日
sh /usr/local/bin/hoge.sh

cd /usr/local/bin/
sh hoge.sh

スクリプトの実行ディレクトリが異なるので、スクリプト内部の挙動が変わることがあります。

cd `dirname $0`

このコマンドをスクリプトの先頭に記述しておけば、スクリプトの位置からの相対パスでの挙動に統一することができるようになります。

また、

(cd /tmp; echo "hoge";)

のように記述すれば本線のディレクトリの位置を変えずに、異なるディレクトリからコマンドを実行することができます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません