我有一个文件夹(我们称之为folder1
,它只包含子目录。我想编写一个shell脚本,在每个子目录上迭代几个python脚本。实际上,我必须输出脚本中每个子目录的绝对路径,但是我希望能够cd
到folder1
并简单地从那里运行shell脚本并让它自动遍历子目录,无论他们的名字或folder1
的位置。
当前代码(保存为shellscript.sh):
#! /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
然后我可以通过打开终端(Mac OSX v 10.13.6)并运行sh path/to/shellscript.sh
来运行它。我希望脚本中的arr
声明能够根据我所处的任何cwd的内容自动填充。我发现this有用的链接并能够在终端中作为独立命令运行但无法弄清楚如何将它合并到shell脚本中。有小费吗?
for dir in ./* ./**/* # list directories in the current directory
do
python $dir
done
./*是dir中的文件,而./**/*是子文件夹中的文件。
确保目录中只有python文件,它将运行该目录中的所有文件