Alias
別名不起作用?
我像這樣在 ~/.cshrc 中創建一個別名
alias bw "bjobs -w | awk '{print $7}'"
但它在 7 美元時不起作用。我該如何解決 ?
通過在命令提示符下鍵入以下內容,嘗試查看csh定義了您的別名:
% 別名 bw
bjobs -w | awk ‘{列印}’
發生了什麼?shell 擴展了一個名為 $7 的 shell 變數,它恰好什麼都不是,並將該空值填充到別名定義中。
所以這提出了一個解決方案本身,我們需要在 $7 中引用美元,遠離外殼的窺探,以便將其按字面意思輸入到別名的定義中:
% 別名 bw “bjobs -w | awk ‘{print " $ “7}’”
現在當我們測試別名是什麼時:
% 別名 bw
bjobs -w | awk ‘{列印 $7}’
這正是您在命令行中鍵入的內容!
要執行別名定義的編寫,我們分 3 個步驟執行:
- The quoting is done by closing the double quotes just before the $ to come out of the alias' quoting. - Now the $ needs to be escaped via a backslash to stop it from being expanded before the alias takes effect. - Start the double quotes to re-enter the alias' quoting.
** 我希望我能用圖形畫出這件事,這使得它很容易理解。