株式会社エスロジカル
株式会社エスロジカル
SSL証明書(3,300円/1年~ DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

UNIX のコマンド:dirnameコマンド

技術ドキュメント目次 -> UNIX のコマンド -> dirnameコマンド

本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。

サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ dirnameコマンドとは

dirname コマンドを使用すると、
引数で与えたファイルの設置してあるディレクトリ名が出力されます。

◆ dirnameコマンド実行例

例えば、/bin/ls に対して dirnameコマンドを実行すると次のようになり、
常に、/bin/ ディレクトリを示す文字列が出力されます。

$ dirname /bin/ls
/bin
$ cd /bin/
$ dirname ./ls
.
$ dirname ls
.
$ dirname ../bin/ls
../bin
$


これだけを見ると「ふ~ん、それで???」といったような感じですが、
シェルスクリプトの中において、実行ディレクトリをそろえたいときに
これが結構便利です。

たとえば、
/usr/local/somedir/bin/test.sh というシェルスクリプトを作成したとして、
その中の先頭の方の行で、cd `/usr/bin/dirname $0` というコマンドを実行
すると、/usr/local/somedir/bin/test.shをどのようなディレクトリから実行
したとしても、必ずそのワークディレクトリが/usr/local/somedir/bin に
なるようになります。

(cd ~/; /usr/local/somedir/bin/test.sh としても、
  cd /usr/local/; ./somedir/bin/test.sh としても、
  cd /usr/local/somedir/; ./bin/test.sh としたとしても、
  全ての場合において必ずワークディレクトリが /usr/local/somedir/bin になります)

#!/bin/sh

## ワークディレクトリを /usr/local/somedir/bin にする
cd `/usr/bin/dirname $0`

..... (メインロジック)




■ UNIX のコマンド についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。