Alias
為目錄設置別名
我正在嘗試設置一個別名,使我可以快速
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
有人可以告訴我我在這做錯了什麼嗎?
你應該使用:
alias mov 'cd "$use"/\!*/src'
!*
在 csh/tcsh 中,別名解析為正在執行的命令的所有參數(即您在之後放置的內容mov
)。請參閱在和其他選項中編寫別名:
csh``tcsh
!!
是整個命令行!*
是命令的所有參數!:1
是命令的第一個參數!:2
是命令的第二個參數!$
是命令的最後一個參數每個都必須被
\
.有人可以告訴我我在這做錯了什麼嗎?
當你執行:
mov sample
Shell 將別名解析為:
cd $use/*/src sample
然後展開變數並執行:
cd /home/user/asreera/Aravind//*/src sample
cd
命令抱怨它有太多參數。