创建一个bash别名,其中输出是没有空格的串联

时间:2017-10-04 16:12:57

标签: bash alias

问题很简单。我想创建一个别名,例如alias short="echo a$1"。当我运行short k时,我得到输出a k,但我真正想要的是ak。我怎样才能做到这一点?

1 个答案:

答案 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的别名。