在bash shell中的for循环内连接字符串变量


15
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 $var = $var$name   
done

echo $var

1
那你的问题是什么?
rzymek 2013年

Answers:


17
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 var=$var$name //$ should be removed which is prefixed before var. Blank space before and after equal sign should be removed to run this code.   
done

echo $var

1
您确定在赋值左侧的变量名称前面使用sigil是正确的吗?无论如何,从该评论开始,最好查看您的整个帖子。
manatwork 2013年

更好。:)现在评论。然后执行并捕获find的输出。然后forin子句中的数组变量。
manatwork 2013年

1
最后一点可能是使用no loop更好var="$(IFS=; echo "${names[*]}")"。因此,除非您希望教问题所有者,否则更正他的多个语法错误不会有太大好处。
manatwork 2013年

1
您忘记了a $,for循环行应显示为for name in ${names[@]}
bcattle

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.