Bash目录路径中的变量空间

Per*_*oob 1 variables bash whitespace alias

当我在目录路径中使用变量时,如何删除空格.例如,我正在尝试做

alias test='echo /david/$1'
Run Code Online (Sandbox Code Playgroud)

当我尝试

test hhh
Run Code Online (Sandbox Code Playgroud)

这会产生

/david/ hhh
Run Code Online (Sandbox Code Playgroud)

在变量之前有一个空格.看起来很简单,但我找不到解决方案.

Ign*_*ams 6

alias不做参数扩展.完全没有.请改用功能.

test (){
  echo "/david/$1"
}
Run Code Online (Sandbox Code Playgroud)

  • 更明确的是,当你输入`test hhh`时,你真的发送`echo/david/$ 1 hhh`,因为$ 1是空白的,你发送`echo/david/hhh` (4认同)