Задача состоит в том, чтобы сделать скрипт bash в Ubuntu. Предполагается, что в качестве аргумента берется каталог, и перечисляются все каталоги и подкаталоги из этого аргумента. У меня нет большого опыта работы с Bash, вы можете мне помочь?
2 ответа
Есть несколько способов / утилит, которые вы могли бы сделать это. Если вы не можете позволить себе установить tree
вы можете попробовать использовать доступные из коробки.
Список каталогов с помощью поиска
find . -type d
Это зависит от того, что именно вы планируете делать с результатами. Я предлагаю вам взглянуть на эту тему для других вариантов и вдохновения.
Вы можете использовать команду tree
[ 1 ].
tree -d "$1"
Опция -d
будет перечислять только каталоги.
$1
- это первый параметр, который вы передаете скрипту.
Кстати, не анализируйте вывод команды как дерево или ls
чтобы избежать проблем, связанных с пробелом и символом новой строки, которые являются символами, разрешенными внутри имени файла или каталога.
В последнем случае вы можете использовать find
.
Попросите man find
в раковине или поискать, например, на этом сайте об этом.