我想在bashrc中设置一个别名来读取一个参数并将其输出到屏幕。
alias myecho='echo 123'
如果我这样做
$> myecho
我可以得到正确的结果。
123
但是如果我在别名
中加入一个参数alias myecho2="echo 123.$1"
我做了
$> myecho2 555
我将在我输入的参数前面得到一个空格。
123 .555
我该怎样做才能摆脱白色空间?
答案 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
,它可以满足您的需求。