创建一个 bash 别名,其中输出是没有 space 的串联
Create a bash alias where the output is a concatenation without a space
问题很简单。我想创建一个别名,例如 alias short="echo a"
。当我 运行 short k
我得到输出 a k
,但我真正想要的是 ak
。我怎样才能做到这一点?
尝试
alias short="echo ab"
>> ab k
它并不像您想象的那样工作。 $1 在别名设置完成之前得到解决,因此:
alias -p
>> alias short='echo ab'
但从更大的角度来看,您混淆了 alias
和 function
之间的混淆,前者是将一个标记替换为另一个标记,后者旨在以您在这里尝试采用的方式获取参数。您可能想要的是
function short(){ echo "a"; }
short k
>> ak
N.B。如果你已经定义了别名,不要忘记unalias
它,因为别名在函数之前有get运行。
问题很简单。我想创建一个别名,例如 alias short="echo a"
。当我 运行 short k
我得到输出 a k
,但我真正想要的是 ak
。我怎样才能做到这一点?
尝试
alias short="echo ab"
>> ab k
它并不像您想象的那样工作。 $1 在别名设置完成之前得到解决,因此:
alias -p
>> alias short='echo ab'
但从更大的角度来看,您混淆了 alias
和 function
之间的混淆,前者是将一个标记替换为另一个标记,后者旨在以您在这里尝试采用的方式获取参数。您可能想要的是
function short(){ echo "a"; }
short k
>> ak
N.B。如果你已经定义了别名,不要忘记unalias
它,因为别名在函数之前有get运行。