以下の内容はhttp://sonic64.com/2006-02-22.htmlより取得しました。


Landscape トップページ | < 前の日 2006-02-21 2006-02-22 次の日 2006-02-23 >

Landscape - エンジニアのメモ 2006-02-22

シェルスクリプト自身のファイル名を取得できる特殊変数 $0


* シェルスクリプト自身のファイル名を取得できる特殊変数 $0

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [bash] [シェルスクリプト]

パラメータ $0 でシェルスクリプト自身の名前を取得できる。

#!/bin/sh

echo "This script name is $0"
echo "This script name is `basename $0`"

上記スクリプトを get_script_name.sh というファイル名で保存し、実行。

$ ./get_script_name.sh

This script name is ./get_script_name.sh
This script name is get_script_name.sh

スクリプトの呼び出し方によってはパス指定文字列が入ってしまうので、二行目では basename コマンドでファイル名部分だけを取り出している。basename コマンドを使わなくても済む特殊変数って無いのかな? man bash してみたけど見つけられなかった。

追記。
2006-02-27 に「シェルのパラメータ展開でスクリプト自身のファイル名を取得する」という記事を書いた。
basename コマンドを使わなくても、${0##*/} でスクリプト自身の名前を取得できる。




以上の内容はhttp://sonic64.com/2006-02-22.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14