私は移植可能なbashrc/bash_profileファイルを作ろうとしています。私はシンボリックリンクの.bashrc、.bash_profileなどの単一のスクリプトを持っています。次に、$0
を見て、どのスクリプトが呼び出されたかに基づいて何を行うかを切り替えています。問題は、シェルがbashrcスクリプトを呼び出すのはもちろん、実際にはbashを実行するということです。つまり、私のために$0
は-bash
です。 $1
さらにスクリプト名には設定されていません。bashでスクリプト名を実行させるにはどうすればよいですか?
私の質問は、bashではどのように実行されているスクリプトの名前を取得できますか?それを実行するバイナリではありません。 bash?
実際には新しいプロセスではないので、-bash
と$1
が設定されていないとします。何か案は?
これは一般的ではありません。 $ ARGVを解析する際には、他のスクリプトから呼び出されたことを知る必要があります。たぶん私は間違っています。私が間違っていると、あなたの答えの説明を強化する必要があります。例を追加する – hek2mgl