Linux 启动位于子目录中的多个脚本

Linux 启动位于子目录中的多个脚本,linux,bash,shell,Linux,Bash,Shell,这是我的问题。我有一个包含多个子目录的目录。在每个子目录中,至少有一个脚本sh 我想做一个脚本,按顺序执行所有这些脚本 我对linux相当陌生 感谢您的帮助,从顶部目录运行以下命令: for f in `find . -type f -name \*.sh`; do $f; done find命令将定位所有.sh文件。find命令的输出(脚本路径名的空格分隔列表)成为for命令的输入。for命令处理每个输入,将每个条目分配给变量f。“$f”执行每个脚本。从顶部目录运行以下命令: for f i

这是我的问题。我有一个包含多个子目录的目录。在每个子目录中,至少有一个脚本sh

我想做一个脚本,按顺序执行所有这些脚本

我对linux相当陌生


感谢您的帮助,

从顶部目录运行以下命令:

for f in `find . -type f -name \*.sh`; do $f; done

find命令将定位所有.sh文件。find命令的输出(脚本路径名的空格分隔列表)成为for命令的输入。for命令处理每个输入,将每个条目分配给变量f。“$f”执行每个脚本。

从顶部目录运行以下命令:

for f in `find . -type f -name \*.sh`; do $f; done
find . -name "*.sh" -exec {} \;
find命令将定位所有.sh文件。find命令的输出(脚本路径名的空格分隔列表)成为for命令的输入。for命令处理每个输入,将每个条目分配给变量f。“$f”执行每个脚本

find . -name "*.sh" -exec {} \;
这是一个shell命令,它从运行它的目录(由指定)开始,查找以.sh结尾的文件名,然后执行这些文件(找到的文件在{}中被替换)。反斜杠防止分号被shell扩展(这里是bash)


这是一个shell命令,它从运行它的目录(由指定)开始,查找以.sh结尾的文件名,然后执行这些文件(找到的文件在{}中被替换)。反斜杠防止分号被shell扩展(这里是bash)。

尝试使用
find
for
执行此操作:

for file in `find . -type f -name "*.sh"`; do sh $file; done
使用还可以将其存储在阵列中并执行以下操作:

array=($(find . -type f -name "*.sh"))
for file in ${array[@]};do sh $file; done

尝试使用
find
for
执行此操作:

for file in `find . -type f -name "*.sh"`; do sh $file; done
使用还可以将其存储在阵列中并执行以下操作:

array=($(find . -type f -name "*.sh"))
for file in ${array[@]};do sh $file; done

只有密码的答案是不受欢迎的。为了帮助OP,请详细说明您的答案是如何工作的。根据您的建议进行编辑,Politank-Z。谢谢。不赞成只使用代码的答案。为了帮助OP,请详述您的答案是如何工作的。根据您的建议进行编辑,Politank-Z。谢谢。