Shell脚本帮助!循环目录下的目录

Sao*_*obi 0 shell

我想编写一个shell脚本,它遍历目录下的所有目录,并在每次迭代时调用一个目录名作为参数的java程序.

所以我的父目录是作为shell脚本的参数提供的:例如:

. myShell.sh  /myFolder/myDirectory
Run Code Online (Sandbox Code Playgroud)

下面有100个目录/myFolder/myDirectory.对于每个"directory_i",我想运行:

java myProg directory_i
Run Code Online (Sandbox Code Playgroud)

如果有人能为我提供一个完美的工作shell脚本!

mar*_*ton 9

你可以用find.

myShell.sh脚本可能看起来有点像这样,这是一个递归处理目标下任何和所有子目录的版本.

DIR="$1"
find "$DIR" -type d -exec java myProg {} \;
Run Code Online (Sandbox Code Playgroud)

find可用的确切选项取决于您的各种unix.如果你不想要递归,你可能会-maxdepth像Neeraj所说的那样使用,或者也许-prune,它开始变得有点难看:

find "$DIR" \( ! -name . -prune \) -type d  -exec java myProg {} \;
Run Code Online (Sandbox Code Playgroud)

编辑:添加修剪示例.

  • 好的,我道歉. (3认同)
  • @Saobi - 你的评论很粗鲁,当人们花时间帮助你时,至少要努力尝试他们的建议 (2认同)