Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

カレントディレクトリ名を取得する4つの方法

2007年11月19日 10:46 Sergio-Gonzalez-Duran(2007年11月6日(火)) 1 2
 シェルスクリプトを書いていると、カレントディレクトリ名は必要だが、pwdコマンドから返される完全なパスは必要ないことがよくある。本稿では、カレントディレクトリだけを抜き出す方法を4通り紹介する。

basenameを使う

 basenameコマンドは、カレントディレクトリ名を抜き出す最も簡単で単純な方法だ。

basename /usr/local/bin
bin

 ただし、ディレクトリ変数を使うシェルスクリプトでは、この方法は役に立たない。この場合は、pwdをバッククォート(`)で囲んでbasenameと併用することで、変数に対応できる。

cd /usr/local/bin
basename `pwd`
bin

echoとパラメータ置換を使う

 bashスクリプト言語は、変数を操作したり拡張したりできるパラメータ置換などの心憎いトリックを満載している。${var##pattern}構文のパラメータ置換を使うと、$varから、$varの先頭から$patternに一致する最長の部分を削除できる。具体的には、次のように使用する。

cd /var/log/squid
echo ${PWD##*/}
squid

 PWDは現在のパスが格納される環境変数であり、##*/までの間にあるものをすべて削除することを意味する。つまり、最後の/までのすべてが削除されて、最後の文字列1つだけが残る。前の例では、この文字列がカレントディレクトリのsquidである。パラメータ置換やその他の変数の操作方法については、「Advanced Bash-Scripting Guide」に詳しい解説がある。

最終更新:2008年01月19日 17:07