这个问题真的很简单。我想创建一个别名,例如alias short="echo a$1"
。当我运行short k
时,我会得到输出a k
,但是我实际想要的是ak
。我该如何实现?
尝试
alias short="echo a$1b"
>> ab k
它不像您认为的那样工作。$ 1在设置为别名完成之前就解决了,因此:
alias -p
>> alias short='echo ab'
但是,您正在混淆alias
,这是一个愚蠢的一个令牌与另一个令牌的愚蠢替代品,而function
则是旨在以您想在此处进行的方式采用参数。您可能是
function short(){ echo "a$1"; }
short k
>> ak
n.b。如果您已经定义了别名,请不要忘记unalias
,因为在函数之前进行运行的别名。