読者です 読者をやめる 読者になる 読者になる

ほげほげ

プログラミング、英会話、ヨガ、料理などの備忘録など。

bash パラーメーター展開

意外と苦戦する文字列操作が、パラメーター展開を使うと結構簡単にできることを知った。

とりあえず、実行中のスクリプトのディレクトリが知りたくて調べ始めて、以下の様なことができることを知った。

#!/bin/bash
# 実行中のスクリプトファイル名
FILE=$0

echo '$0='$0

# 最短前方一致(拡張子だけが残る)
echo '${0#*.}='${0#*.}

# 最長前方一致(拡張子だけが残る)
echo '${0##*.}='${0##*.}

# 最短後方一致 を取り除く( 末尾の/以降がなくなる)
echo '${0%/*}='${0%/*}

# 最長後方一致(先頭の/以降がなくなる)
echo '${0%%/*}='${0%%/*}

詳細はman bashで確認できる。
http://linuxjm.sourceforge.jp/html/GNU_bash/man1/bash.1.html