パラメータ $0 でシェルスクリプト自身の名前を取得できる。
上記スクリプトを get_script_name.sh というファイル名で保存し、実行。
スクリプトの呼び出し方によってはパス指定文字列が入ってしまうので、二行目では basename コマンドでファイル名部分だけを取り出している。basename コマンドを使わなくても済む特殊変数って無いのかな? man bash してみたけど見つけられなかった。
追記。
2006-02-27 に「シェルのパラメータ展開でスクリプト自身のファイル名を取得する」という記事を書いた。
basename コマンドを使わなくても、${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