如何在shell脚本中连接变量和另一个数组变量元素

时间:2017-10-13 07:51:17

标签: bash shell

#bin/bash
p=11.123.25.36:1301
filecontent=(`cat "result" `)
for s in "${filecontent[@]}"
q="$p/$s"
do
echo $q
done

我预期的o / p它应该显示为

11.123.25.36:1301/aaa
11.123.25.36:1301/zzz
11.123.25.36:1301/xyz
11.123.25.36:1301/789

但我的脚本中出现以下错误。

  

意外令牌附近的语法错误q = $ p / $ s

2 个答案:

答案 0 :(得分:1)

你在循环之外有q="$p/$s"。把它放进去吧:

for s in "${filecontent[@]}"
do
q="$p/$s"
echo $q
done

答案 1 :(得分:0)

p=11.123.25.36:1301 
filecontent=($(cat result)) 
for s in "${filecontent[@]}" 
do
q="$p/$s" 
echo $q 
done

使用while(@Inian版本)的更好解决方案:

while IFS= read -r line; 
do 
    printf '%s\n' "${p}/${line}"; 
done < "${result}"