我需要编写一个脚本(比如A),它将在多个目录中运行一个脚本(比如B)。脚本B在一组子目录中运行脚本(比如C)。虽然我编写并成功地执行了脚本B和C,但将它们组合在一起并编写脚本A对我来说似乎太难了。
B的一个例子是
MainDir="/home/kkk/mmm/dir"
create_stack="${MainDir}/run/create_stack_and_find_seam.rb"
# cd into the working main directory where all the subdirs are present
for fil_no in $@
do
cd ${MainDir}/${fil_no}
pwd
# the working script
echo ${fil_no}
${create_stack} ${fil_no}
done
# Go back to the original starting directory
cd $OLDPWD现在我有几个目录,在不同的级别列出了不同的子目录"fil_no“。因此,我现在需要在所有目录中执行脚本B,该脚本将在所有不同的子目录中运行"create_stack_and_find_seam.rb“(即脚本C)。
发布于 2013-04-17 16:09:41
根据我的评论,如果我们将脚本B中的'MainDir‘更改为一个参数,如下所示
MainDir=$1 然后,我们可以将脚本A编写为:
#!/bin/bash
ScriptB.sh /home/first/directory
ScriptB.sh /home/second/directory当然,这意味着要更改${MainDir}/run/create_stack_and_find_seam.rb和cd ${MainDir}/${fil_no}部分。如果它们只出现在一个地方,那么删除MainDir并添加一个新变量会有所帮助
https://stackoverflow.com/questions/16052875
复制相似问题