Bash:在斜杠后回显参数将插入一个空白字符

Bash:在斜杠后回显参数将插入一个空白字符,bash,Bash,我试图在bash中使用命令行参数构造一条路径。我在.bashrc中添加了以下行: alias hi="echo '/path/to/$1'" 然而,这会产生: ~$ hi foo /path/to/ foo 你知道斜杠后面的空白是从哪里来的吗?< /P> 谢谢 简而言之,别名不能接受参数。您可以改为创建函数: $ function hi() { echo "/path/to/$1"; } $ hi foo /path/to/foo 阅读其他选项。简而言之,别名不能接受参数。您可以改为

我试图在bash中使用命令行参数构造一条路径。我在.bashrc中添加了以下行:

alias hi="echo '/path/to/$1'"
然而,这会产生:

~$ hi foo
/path/to/ foo
你知道斜杠后面的空白是从哪里来的吗?< /P> 谢谢


简而言之,别名不能接受参数。您可以改为创建函数:

 $ function hi() { echo "/path/to/$1"; }
 $ hi foo
 /path/to/foo

阅读其他选项。

简而言之,别名不能接受参数。您可以改为创建函数:

 $ function hi() { echo "/path/to/$1"; }
 $ hi foo
 /path/to/foo

阅读其他选项。

正如卢卡申斯克所述,别名不带参数,因此
$1
为空。但是,即使您要这样做:

alias hi="echo '/path/to/'"
你会得到一个空间。原因是,如果您有这样的别名:

alias myls=ls
而且:

myls filename
它不会尝试运行:

lsfilename

正如LukášLalinský所述,别名不带参数,因此
$1
为空。但是,即使您要这样做:

alias hi="echo '/path/to/'"
你会得到一个空间。原因是,如果您有这样的别名:

alias myls=ls
而且:

myls filename
它不会尝试运行:

lsfilename

谢谢我想这就是我要找的。谢谢!我想这就是我要找的。