Unix - 如何在目录中获取多个shell脚本?

Pet*_*ike 3 unix shell

当我想在Unix中执行一些shell脚本时(让我们说我在脚本所在的目录中),我只需输入:

./someShellScript.sh
Run Code Online (Sandbox Code Playgroud)

当我想"获取"它时(例如在当前shell中运行它,而不是在新的shell中),我只需用"."键入相同的命令.(或者使用"source"命令等效)之前:

. ./someShellScript.sh
Run Code Online (Sandbox Code Playgroud)


而现在是棘手的部分.当我想在当前目录中执行"多个" shell脚本(假设所有带.sh后缀的文件)时,我输入:

find . -type f -name *.sh -exec {} \;
Run Code Online (Sandbox Code Playgroud)

"我应该使用什么命令来"源"目录中的多个shell脚本"
到目前为止我试过这个但是它不起作用:

find . -type f -name *.sh -exec . {} \;
Run Code Online (Sandbox Code Playgroud)

它只是抛出这个错误:

find: `.': Permission denied
Run Code Online (Sandbox Code Playgroud)


谢谢.

Jon*_*ler 13

for file in *.sh
do . $file
done
Run Code Online (Sandbox Code Playgroud)

  • `[-f $ file] &&.$ file` (3认同)