首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >循环遍历一组包含空格的字符串

循环遍历一组包含空格的字符串
EN

Stack Overflow用户
提问于 2013-08-22 22:27:45
回答 2查看 32.6K关注 0票数 32

我有多个字符串,比如"a b","c d","foo bar“等等。我想循环遍历这组字符串,并对每个字符串执行一个操作。在此操作中,我调用了多个其他脚本,因此我不想更改此循环的IFS,因为它可能会中断我对其他脚本的调用。这就是为什么我试图转义这些字符串中包含的空格,但没有成功的原因。

例如,我希望得到

代码语言:javascript
复制
a b
c d

我尝试了以下几种方法:

代码语言:javascript
复制
#!/bin/sh

x="a b"
y="c d"

echo "Attempt 1"
all="$x $y"

for i in $all ; do
  echo $i
done

echo "Attempt 2"
all="a\ b c\ d"
for i in $all ; do
  echo $i
done

echo "Attempt 3"
all=($x $y)
for i in ${all[@]} ; do
  echo $i
done

echo "Attempt 4"
all='"'$x'" "'$y'"'
for i in $all ; do
  echo $i
done

echo "Attempt 5"
for i in "$x" "$y" ; do
  echo $i
done

echo "Attempt 6"
all2=("a b" "c d");
for i in ${all2[@]}; do
  echo $i
done

echo "Attempt 7"
all3="a b c d"
echo $all3|
while read i; do
  echo $i 
done 

只有5次尝试成功,但我希望这样做,而不必为每个字符串声明一个变量(维护起来会很痛苦)。我只是为了测试引入了x和y,但是我的想法是在一个变量中声明集合"a,b“和"c,d”。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18383291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档