私は bash スクリプト ( gotodir.shと呼ばれる) を作成しており、いくつかの変数に応じて、スクリプトの過程でディレクトリを変更したいと考えていますcd /home/username/${FOO}/${BAR}
。
サブシェルでのみディレクトリが変更されたため、プロセスが終了したときにこれをそのまま実行しても機能しません。
私のシェルは tcsh です。(ええ、私は知っています... ここでは私の選択ではありません。) 私の.cshrcファイルで、キーワードgotodirをgotodir.shにエイリアスしたいと思います。
.
またはsource
プレフィックスを付けてスクリプトを実行すると、スクリプトが同じシェル (つまり、サブシェルではない) で実行されることを読みました。
私は.cshrcファイルに以下を入れようとしました:
alias gotodir . /home/username/bin/gotodir.sh
しかし、これはエラーになります:/bin/.: Permission denied.
私もsource
代わりに使ってみました.
alias gotodir source /home/username/bin/gotodir.sh
しかし、これはエラーになります:if: Expression Syntax.
tcsh の実行中に bash スクリプトを使用してこれを行うにはどうすればよいですか?