Alias

為目錄設置別名

  • May 30, 2016

我正在嘗試設置一個別名,使我可以快速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命令抱怨它有太多參數。

引用自:https://unix.stackexchange.com/questions/286394