実行場所を気にしなくてよいシェルスクリプトの作り方
[履歴] [最終更新] (2015/05/31 05:25:32)
最近の投稿
注目の記事

作り方

シェルスクリプトの冒頭に

cd `dirname $0`

という一行を追記しておくと、実行場所を気にしなくてよいスクリプトになります。

具体例

/home/vagrant/sample.sh

#!/bin/sh
cd `dirname $0`
pwd

実行権限を付与しておきます。

$ chmod +x /home/vagrant/sample.sh

どこから実行しても同じ結果です。

$ cd /
$ /home/vagrant/sample.sh
/home/vagrant

$ cd /home/vagrant
$ ./sample.sh
/home/vagrant

sample.sh が配置されているディレクトリをカレントディレクトリとして想定したシェルスクリプトを作成できることを意味します。

補足

dirname コマンド

パスのうちディレクトリ部分を取得できます。

$ dirname /home/vagrant/sample.sh 
/home/vagrant

basename コマンド

パスのうちファイル名の部分を取得できます。

$ basename /home/vagrant/sample.sh 
sample.sh

$0

自分自身 (実行中のコマンドファイル) へのパスを取得できます。

関連ページ