Linux 保存for循环的输出
我想操纵以下“for循环”的输出: 其中:Linux 保存for循环的输出,linux,bash,shell,unix,Linux,Bash,Shell,Unix,我想操纵以下“for循环”的输出: 其中: $patch\u set存储了一对文件名,如patch.dot、patch2.dot、patch3.dot等 每个patch*.dot文件中都有字符串内容 $key不断变化-可以将其更改为201509或某个等效日期。我只是在代码中使它保持静态 $string是补丁*.dot文件的内容 $autopatch充满了如下路径: /backend/dot/scipts/shock/201508/SQL/file.SQL /backend/dot/scipts
$patch\u set
存储了一对文件名,如patch.dot
、patch2.dot
、patch3.dot
等patch*.dot
文件中都有字符串内容$key
不断变化-可以将其更改为201509
或某个等效日期。我只是在代码中使它保持静态李>
$string
是补丁*.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)
要将命令的输出存储在变量中,请执行
var=$(command)
。这就是你要问的吗?这不是基本的shell脚本知识吗?或者您可以使用反勾号,就像您在分配文件名的行中所做的那样。
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)