パス名からファイル名(またはディレクトリ名)を取り出す

変数に格納された文字列から前方検索の最長マッチ部分が削除される。ちなみに最短マッチにするには # を一つだけにする。また # の代わりに % を用いると後方検索となる。

PATHNAME=/etc/init.d/telnet
FILENAME=${PATHNAME##*/}
echo $FILENAME

basename コマンドがあればそちらを使うほうが楽。ディレクトリ名の取り出しで、パス名の最後に区切り文字が含まれていても適切に処理してくれる。

PATHNAME=/etc/murasaki/bin/
DIRNAME=`basename $PATHANAME`
echo $DIRNAME


echo コマンドで改行を表示する

オプションなしで実行すると \n は文字列としてそのまま表示されるため、\n を改行コードとして認識させたい場合は -e オプションを指定する。

X="ABCDE\nABCDE"
echo $X
echo -e $X







タグ:

Linux SHellscript
最終更新:2008年09月05日 06:44