2016-01-20 44 views
0

我是unix新手。我试图基于设置的数组转储出几个文件。当在使用数组之前设置变量时,它不起作用。

例如:

set my_n = Apple 
arrayme="fruit name misc" 

for x in $arrayme; do 
echo "I am $my_n" > $my_n_$x.txt 
done 

在这里我想输出文件是: Apple_fruit.txt,Apple_name.txt,Apple_misc.txt

我要将此$ my_n让我可以重用其他$ my_n变量,可以设置它。但我无法得到它的工作。需要帮助完成上面的语法。 谢谢。

回答

1

在第1行,使用set不需要。不要在变量名&和等号之间添加空格,并且等于&值。

在第5行则必须将变量my_n在大括号从您使用下划线分隔区分开来。

1 my_n=Apple 
2 arrayme="fruit name misc" 
3 
4 for x in $arrayme; do 
5 echo "I am $my_n" > ${my_n}_$x.txt 
6 done 

此更新后的代码应该按预期工作。