我想使用shell脚本列出输入参数中指定的目录下的所有空目录,但我能找到的只是在当前目录中列出空目录的命令。请帮忙。
例如: 我有:
Documents
directory 1 (the empty directory)
directory 2
Subdirectory 1
Subdirectory 2 (where I have my shell script, getemptydir.sh)
因此,当我输入./getemptydir.sh
个文档时,我希望它打印出directory 1
答案 0 :(得分:4)
试试这个
#!/bin/sh
find "$1" -type d -empty
此脚本将相对于当前目录运行。如果您在bds2
并通过Documents
,则会在bds2
中查找名为Documents
的目录。但是你可以传递一个相对或绝对路径到你的目录,它会工作,例如。
$ ./getemptydir.sh ../../Documents
$ ./getemptydir.sh ~/Documents
$ ./getemptydir.sh /Users/xyz/Documents
等
或从主目录中运行
$ Documents/bds/bds2/getemptydir.sh Documents
如果您希望脚本始终在您的主目录中查找,您可以在脚本中包含该脚本,例如
#!/bin/sh
find "$HOME/$1" -type d -empty