2015-05-13 61 views
1

zsh中,您可以定義全局別名。例如,如何在bash中模擬來自zsh的全局別名?

alias -g G='| grep' 
alias -g W='| wc -l' 

,然後使用它們像這樣:

some_command G some_text W 

能全局別名在bash以某種方式模仿?

+0

我相信你必須編輯你的〜/ .bashrc文件,如果你想在系統中使用別名。 [Here](http://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias)是一個關於如何在Ubuntu上做的問題,也許你可以調整答案到你的系統 – Aserre

+0

@Ploutox 1)這裏的「全局」是指「在整個命令行上不僅僅是作爲第一個單詞2)由於〜/ .bashrc駐留在用戶的主目錄中,它不是*系統範圍的設置 – Adaephon

+0

@Adaephon對於你的第二點,可以使用/etc/bash.bashrc來代替系統範圍的設置,我應該先寫下這個路徑:) – Aserre

回答

4

假設你永遠要使用大寫G代表任何其他目的,你可以添加到您的.bashrc文件:

bind '"G": "| grep"' 

這隻要你鍵入它拓展克至| grep。也就是說,Shift + g不再產生大寫字母G,而是字符串| grep。你會想要選擇一個更長的序列,這是你永遠不會期望的,或者單獨或者作爲另一個單詞的一部分輸入。

+5

什麼是| grepOOD想法! – kojiro

+0

LOL。我花了一段時間才明白@kojiro的回覆。但是一旦我得到了它,我就成爲了 –