如何使用可以在运行时更改的变量定义别名?

如何使用可以在运行时更改的变量定义别名?

这可能是一个很容易回答的问题,但由于编写标题时的措辞不同,我找不到任何已经提出这个问题的问题。

help alias在我的 bash 提示符下运行仅返回以下内容:

alias: alias [-p] [name[=value] ... ] 

然后是一段非常短的文字,与我要问的内容无关。

我也尝试过:

help function

但这也没有给我太多信息。

例如:

 alias mancat="man command | cat"

这样我就可以运行mancat grep相当于man grep | cat.

我知道这称为变量,但它们是未定义的,我希望能够随时更改它们,就像运行我的示例命令时一样。

答案1

您需要使用函数,而不是别名,以便

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

grepfor pattern1in file,然后仅选择不匹配的行pattern2( grep -v) ,最后仅选择第一行(或最后一行)。

相关内容