如何使用目录作为参数列出目录和子目录(Bash)

如何使用目录作为参数列出目录和子目录(Bash)

任务是在 ubuntu 中编写一个 bash 脚本。它应该将目录作为参数,并列出该参数中的所有目录和子目录。我对 bash 没什么经验,你能帮我吗?

答案1

有多种方法/工具可以实现这一点。如果您负担不起安装费用,tree您可以尝试使用现成的。

使用 find 列出目录

find . -type d

这取决于你打算如何处理结果。我建议你看看这个帖子寻找其他选择和灵感。

答案2

您可以使用tree[1] 命令。

  tree -d "$1"

-d选项将仅列出目录。

$1是您传递给脚本的第一个参数。

顺便说一下,不要将命令的输出解析为树,ls以避免与文件或目录名称中允许使用的字符空格制表符和换行符相关的问题。

在后一种情况下,您可以使用。在 shell 中find询问或在例如此站点上搜索有关它的信息。man find

相关内容