我有一个文件夹(我们叫它folder1
仅包含子目录。我想编写一个shell脚本,该脚本在每个子目录上迭代几个python脚本。照原样,我必须输入到的绝对路径脚本中的每个子目录,但我希望能够cd
到folder1
并从那里直接运行shell脚本,并使其在子目录上自动进行迭代,无论它们的名称或{{ 1}}。
当前代码(保存为shellscript.sh):
folder1
然后我可以通过打开终端(Mac OSX v 10.13.6)并运行#! /bin/sh
declare -a arr=("/path/folder1/subdir1" "/path/folder1/subdir2" "/path/folder1/subdir3" "/path/folder1/subdir4")
for i in "${arr[@]}"
do
echo "$i"
python /path/to/pythonscript1.py "$i"
python /path/to/pythonscript2.py "$i"
done
来运行它。我希望脚本中的sh path/to/shellscript.sh
声明能够根据我所在的cwd的内容自动填充。我发现this有用的链接,并能够在终端中作为独立命令运行但无法弄清楚如何将其合并到shell脚本中。有提示吗?
答案 0 :(得分:2)
for dir in ./* ./**/* # list directories in the current directory
do
python $dir
done
./*是dir中的文件,。/ ** / *是子文件夹中的文件。
确保目录中只有python文件,它将运行该目录中的所有文件