実行時コマンドからディレクトリ名を取得
dirname $0
カレントディレクトリでの実行の場合、相対パス指定で実行の場合、絶対パス指定で指定の場合でそれぞれ結果が異なる。同ディレクトリにあるはずの設定ファイルの読込などに便利。
※「設定ファイルはカレントにあるはず」との前提で「. 設定ファイル名」としていたり、「絶対にこのディレクトリにあるはず」だとの前提で絶対パス指定にしていたりすると、変化に弱い柔軟性の低いシェルになってしまう(設定ファイルが、シェルとは無関係な場所に配置される場合にはこの限りではない)。シェルと設定ファイルを同じ場所もしくは相対的に関係のある場所に配置する場合には「. `dirname $0`/設定ファイル名」と書くといい。
実行時コマンドからファイル名を取得
basename $0
ファイル名部分の取得なので、絶対パス指定で実行しようと相対パス指定で実行しようと、同じ結果が得られる。usageの表示時などに。 |