技術的なことから意味のないことまで、忘れたくないことをただ綴っていきます。RSSAmazon検索キーワード:シェルスクリプト(バッチファイル)を別ディレクトリからの起動に対応させる2007年3月30日シェルスクリプトやバッチファイルを書いていると、コマンドの中に相対パスで別のファイルを指定したりしてしまいます。test.txtとすればよいように思うかもしれません。自身のホームディレクトリより/tmp/test.shとして実行するとどうなるでしょうか。エラーになるはずです。これは、シェルスクリプトの中で実行されるコマンド(cat)が、ホームディレクトリのtest.txtというファイルを開こうとするからです。シェルスクリプトと同じディレクトリにあるファイルを開こうとするなら、一度シェルスクリプトがあるディレクトリに移動し、終了後に戻るという操作が必要です。これをシェルスクリプトで記述するなら以下のようになります。/dev/nullまた、バッチファイルなら以下のようになります。%~dp0(実行するコマンド)@popd私は、シェルスクリプトやバッチファイルを書くとき、とりあえず上記のコマンドをおまじないとして書くようにしています。