cd
次のディレクトリにすばやくアクセスできるようにエイリアスを設定しようとしています。
/home/user/asreera/Aravind/sample/src
/home/user/asreera/Aravind/sample2/src
まず変数を設定しました。
set use=/home/user/asreera/Aravind/
その後、別名を設定しました。
alias mov 'cd $use/*/src'
私の用途は次のとおりです。
mov sample
ディレクトリに移動する必要があります/home/user/asreera/Aravind/sample/src
。
その場合は、mov sample2
ディレクトリに移動する必要があります。/home/user/asreera/Aravind/sample2/src
このエイリアスを使用するとエラーが発生します。cd:too many arguments
この点で私が間違っていることを教えてくれる人はいますか?
答え1
以下を使用する必要があります。
alias mov 'cd "$use"/\!*/src'
!*
csh / tcshでは、エイリアスは実行中のコマンドのすべての引数(つまり、エイリアスの後に入力する引数mov
)を確認します。
バラよりcsh
エイリアスとtcsh
他のオプションの場合:
!!
完全なコマンドラインです!*
すべてコマンドのパラメータです。!:1
コマンドの最初のパラメーター。!:2
コマンドの2番目のパラメーター。!$
コマンドの最後のパラメーターです。
誰もが脱出する必要があります\
。
この点で私が間違っていることを教えてくれる人はいますか?
実行時:
mov sample
シェルは別名を次に確認します。
cd $use/*/src sample
次に変数を展開し、次を実行します。
cd /home/user/asreera/Aravind//*/src sample
cd
このコマンドは、パラメータが多すぎると文句を言います。