Lui*_*cía 1 linux whitespace ksh escaping
假设您有以下脚本:
#!/usr/bin/ksh
for element in $@
do
echo $element
done
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令执行脚本:
./myscript.ksh "my element"
Run Code Online (Sandbox Code Playgroud)
预期产量应为:
my element
Run Code Online (Sandbox Code Playgroud)
但是空格被视为每个参数的分隔符,获得:
my
element
Run Code Online (Sandbox Code Playgroud)
我该如何逃离空白?
谢谢
你必须加$@双引号:
#!/usr/bin/ksh
for element in "$@"
do
echo $element
done
Run Code Online (Sandbox Code Playgroud)
您可以通过全部省略来获得相同的输出in "$@":
#!/usr/bin/ksh
for element
do
echo $element
done
Run Code Online (Sandbox Code Playgroud)