Shell:如何从上面的目录在多个文件上运行Shell脚本
我有以下文件目录Shell:如何从上面的目录在多个文件上运行Shell脚本,shell,Shell,我有以下文件目录 /home/aero/airplane/case1 /home/aero/airplane/case2 .. /home/aero/airplane/casex 我有一个执行一些简单命令的shell脚本。我不想“cd”到每个目录并运行shell脚本(runscript.sh)。是否有一种更简单的方式来运行它,我可以按照以下方式键入一些内容: runscript.sh /case* 谢谢你的帮助 您可以使用第二个脚本运行runscript.sh所有情况: #In the ne
/home/aero/airplane/case1
/home/aero/airplane/case2
..
/home/aero/airplane/casex
我有一个执行一些简单命令的shell脚本。我不想“cd”到每个目录并运行shell脚本(runscript.sh)。是否有一种更简单的方式来运行它,我可以按照以下方式键入一些内容:
runscript.sh /case*
谢谢你的帮助 您可以使用第二个脚本运行
runscript.sh
所有情况:
#In the new shell run every case
runscript.sh /home/aero/airplane/case1
runscript.sh /home/aero/airplane/case2
..
runscript.sh /home/aero/airplane/casex
您可以执行以下操作: 在/home/aero/airplane中创建一个名为runscript.sh的文件
#!/bin/bash
MAINPATH=/home/aero/airplane
CHILD_DIR=$(ls | grep -v runscript.sh)
for i in $MAINPATH
do
cd $MAINPATH/$i
pwd
cd ..
done
运行:
请确保脚本一次输入运行它的所有目录
现在,您可以将“pwd”行更改为在所有目录中执行任何操作。这种方法的问题是,您必须创建第二个脚本,这会消耗时间,并且特定于第二个脚本中列出的情况。我见过一些命令(我现在记不起来了),它们能够使用通配符参数(case*)运行脚本。我正在寻找更直接的命令。我知道如何使用以下命令提交shell脚本:'cd case1;sh“我希望能够键入”cd case*;“runscript.sh”和脚本将能够为所有案例目录运行。我希望其他用户能够在不设置额外文件/外壳的情况下运行此功能。我认为我得到了您所需要的,但我认为不可能在主脚本(在本例中为runscript.sh)上设置cd case*这样的本机运行程序来运行所有情况。我认为最接近于此的方法是在runscript.sh中创建一个例程来执行此操作,并在/usr/bin或另一个保存系统二进制文件和命令的文件夹中创建一个符号链接,以便可以从任何地方使用脚本。如果你多解释一下你的想法,我可能会更详细。
sh runscript.sh