POSIX SH 构建循环变量,其元素包含空格
这是我需要的代码:
#!/bin/sh
x1="a1 a2"
x2="b1 b2"
list=SOMETHING
for x in "$list"
do
echo $x
done
以及我想要的输出:
a1 a2
b1 b2
问题是:SOMETHING
应该是什么?我希望 $list
的行为与 $@
一样。
注意:我无法使用 $IFS
并且无法 eval
整个循环。
Here's the code I need:
#!/bin/sh
x1="a1 a2"
x2="b1 b2"
list=SOMETHING
for x in "$list"
do
echo $x
done
And the output I want:
a1 a2
b1 b2
The question is: what should SOMETHING
be? I want $list
to behave just as $@
does.
Notes: I can't use $IFS
and I can't eval
the entire loop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这在标准 POSIX shell 中是不可能的。
It is not possible in standard POSIX shell.
这可能是您能得到的最接近的结果:
输出:
在 Bash 中,您可以使用数组:
相同的输出。
This is probably as close as you can get:
Output:
In Bash you can use an array:
Same output.