私が使用しているRaspbian上のBashスクリプトは、/ etc / profile.dから実行しているときに、ベース名を使用して自分の名前を取得できません
私はいつもこれを使ってスクリプトの名前を取得しました。
ScriptName="$($(which basename) -- ${0})"
手動で実行すると正常に機能します。 $ 0をキャプチャすると、結果は「-bash」になります ここで何が起こっているのでしょうか。スクリプト名を取得するより良い方法は何でしょうか?
私は一緒に試みた
FullScriptName="${BASH_SOURCE[0]}"
その後
ScriptName = "$( basename $FullScriptName)"
しかし、どういうわけか私は得ています:
ScriptName: command not found
回答:
回答№1は2変数を適切に割り当てて引用する
構文と引用符を修正します。
ScriptName=$(basename "$0")