bashrc alias参数添加一个空格

时间:2018-01-28 09:35:08

标签: bash arguments alias

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

alias myecho='echo 123' 

如果我这样做

$> myecho 

我可以得到正确的结果。

123

但是如果我在别名

中加入一个参数
alias myecho2="echo 123.$1"

我做了

$> myecho2 555 

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

123 .555

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

2 个答案:

答案 0 :(得分:0)

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

echo 123.$1实际上是echo 123.,只有命令的myecho2部分扩展为echo123.。后面的空格和555不会更改。

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

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

# Displays
# 123.555

答案 1 :(得分:0)

你可以这样做:

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

然后myecho foo扩展为printf '123.%s\n' foo,它可以满足您的需求。