例如,使用这个脚本:
#!/bin/bash
for a in $@
do
echo $a
done
Run Code Online (Sandbox Code Playgroud)
并运行:./script "x y" z
返回:
x
y
z
Run Code Online (Sandbox Code Playgroud)
并不是:
x y
z
Run Code Online (Sandbox Code Playgroud)
这是为什么?
我如何将带空格的字符串参数传递给 bash?
我用Bash 4.3.33
.
Cyr*_*rus 15
报价$@
:
#!/bin/bash
for a in "$@"
do
echo "$a"
done
Run Code Online (Sandbox Code Playgroud)
输出:
xy z