问题很简单。我想创建一个别名,例如alias short="echo a$1"
。当我运行short k
时,我得到输出a k
,但我真正想要的是ak
。我怎样才能做到这一点?
答案 0 :(得分:3)
尝试
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
它,因为在函数之前运行get的别名。