コンテンツにスキップ

利用者:nishinsu/sandbox/dirname


dirnameUNIX のプログラムであり、dirnameパス名 を与えると、 最後のスラッシュ('/') 以降を削除した文字列を返す。 dirnameSingle UNIX Specification に記述されており、主にシェルスクリプトで使われる。

使用法[編集]

Single UNIX Specification における dirname の仕様は以下のようになっている。

 dirname NAME

例:

 $ dirname /usr/home/carpetsmoker/dirname.wiki
   /usr/home/carpetsmoker

効率[編集]

dirname が受け取れるパス名の数は一つに限られているので、シェルスクリプトの内部ループ内で使用するには効率が悪い。

 while read file; do
         dirname "$file"
 done < some-input

上記のスクリプトでは入力の各行毎に別のプロセスを起動することになる。このため、典型的にはシェルでの置換が代わりに用いられる。

 echo "${file%/*}";

関連項目[編集]