Bash
如何使用可以在執行時更改的變數定義別名?
這可能是一個很容易回答的問題,但由於編寫標題時的措辭不同,我找不到任何已經提出這個問題的問題。
help alias
在我的 bash 提示符下執行僅返回以下內容:alias: alias [-p] [name[=value] ... ]
然後是一個非常短的文本,與我的要求無關。
我也試過:
help function
但這也沒有給我太多資訊。
例如:
alias mancat="man command | cat"
這樣我就可以執行
mancat grep
相當於man grep | cat
.我知道這被稱為變數,但它們是未定義的,我希望能夠隨時更改它們,就像執行我的範例命令時一樣。
您需要使用函式,而不是別名,以便
mancat () { man "$1" | cat ; } mancat grep
會做你想做的。
相似地
mygrep () { "$1" "$3" "$2" | "$1" -v "$4" | "$5" -n1; } mygrep grep pattern1 file pattern2 head mygrep grep pattern1 file pattern2 tail
將
grep
forpattern1
in thefile
然後僅選擇不匹配pattern2
(grep -v
) 的行,最後僅選擇第一行(或最後一行)。