bashrc alias参数添加一个空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bashrc alias参数添加一个空格相关的知识,希望对你有一定的参考价值。

我想在bashrc中设置一个别名来读取一个参数并将其输出到屏幕。

alias myecho='echo 123' 

如果我做

$> myecho 

我能得到正确的结果。

123

但是,如果我对别名提出一个论点

alias myecho2="echo 123.$1"

而我呢

$> myecho2 555 

我将在我输入的参数前面获得一个空格。

123 .555

我该怎么做才能摆脱白色空间?

答案

别名没有参数。在这种情况下,$1是空的。

echo 123.$1实际上是echo 123.,只有命令的myecho2部分扩展到echo123.。随后的空间和555没有改变。

您可以使用函数来实现所需的行为:

function myecho3() {
    echo 123.$1          # The quotes are not needed
}
myecho3 555

# Displays
# 123.555
另一答案

你可以这样做:

alias myecho2="printf '123.%s\n'"

然后myecho foo扩展到printf '123.%s\n' foo,它做你想要的。

以上是关于bashrc alias参数添加一个空格的主要内容,如果未能解决你的问题,请参考以下文章

mac 通过使用alias简化git命令输入

alias 创建别名

linux:alias

alias命令和.bashrc命令有啥关系吗?alias命令是通过修改.bashrc来实现的吗?

linux 如何删除命令别名

shell 别名alias