Bash不是第一個單詞時的別名:
不是第一個單詞時的別名:G='|grep'
然後是 command G grep-string
我發現自己打字很多,
| grep
並且| less
想知道是否有任何方法可以執行以下操作:alias G='| grep -E' # egrep is deprecated alias L='| less'
所以我可以做類似的事情:
$ command G grepstring
或者
$ verbose-command L
我目前正在從 過渡
bash
到zsh
,所以如果可能的話,請同時處理這兩個 shell。
bash
bash
正如手冊所說,我不知道如何做到這一點:當字元串用作簡單命令的第一個單詞時,別名允許將字元串替換為單詞。
zsh
help alias
說:如果
-g
存在該標誌,則定義一個全域別名;全域別名即使沒有出現在命令位置也會被擴展。所以在
less
範例中:alias -g L="| less"
例子
zsh-lovers gives the following examples:
alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' alias -g CA="2>&1 | cat -A" alias -g C='| wc -l' alias -g D="DISPLAY=:0.0" alias -g DN=/dev/null alias -g ED="export DISPLAY=:0.0" alias -g EG='|& egrep' alias -g EH='|& head' alias -g EL='|& less' alias -g ELS='|& less -S' alias -g ETL='|& tail -20' alias -g ET='|& tail' alias -g F=' | fmt -' alias -g G='| egrep' alias -g H='| head' alias -g HL='|& head -20' alias -g Sk="*~(*.bz2|*.gz|*.tgz|*.zip|*.z)" alias -g LL="2>&1 | less" alias -g L="| less" alias -g LS='| less -S' alias -g MM='| most' alias -g M='| more' alias -g NE="2> /dev/null" alias -g NS='| sort -n' alias -g NUL="> /dev/null 2>&1" alias -g PIPE='|' alias -g R=' > /c/aaa/tee.txt ' alias -g RNS='| sort -nr' alias -g S='| sort' alias -g TL='| tail -20' alias -g T='| tail' alias -g US='| sort -u' alias -g VM=/var/log/messages alias -g X0G='| xargs -0 egrep' alias -g X0='| xargs -0' alias -g XG='| xargs egrep' alias -g X='| xargs'