我想操纵以下“ for循环”的输出:
for i in $patch_set;do
key= 201508 #see the comments after the code
csvArr[$key]=$strings
done
for roF in $(echo -e $autopatch)
do
filename=`basename $roF`
key=201508 #see the comments after the code
echo -e "$key ${csvArr[$key]}"
done
在哪里:
$patch_set
是存储的几个文件名,例如patch.dot
,patch2.dot
,patch3.dot
等。每个
patch*.dot
文件中都包含字符串内容$key
不时更改-可以将其更改为201509
或某个等效日期。我只是在代码中将其设为静态。$string
是patch*.dot
文件的内容$autopatch
充满这样的路径:/backend/dot/scipts/shock/201508/SQL/file.sql
/backend/dot/scipts/shock/201509/SQL/file.sql
代码的想法是获取
patch*.dot
文件中的内容,该内容是文本。有没有一种方法可以将输出存储在某个变量中以进行读取和编辑? 最佳答案
您可以将整个脚本放入$(...)
中,以将其输出捕获到变量中。
var=$(
for i in $patch_set;do
key=201508
csvArr[$key]=$strings
done
for roF in $(echo -e $autopatch)
do
filename=`basename $roF`
key=201508
echo -e "$key ${csvArr[$key]}"
done)
关于linux - 保存for循环的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33504647/