Обратите внимание, что руководство, которому вы следовали, было обновлено:
https://wiki.alpinelinux.org/wiki/Install_Alpine_on_VMware
, поскольку дискеты больше не поддерживаются.
cat
— это программа, которая просто берет входной поток или файл и выводит его на стандартный вывод. Вы не можете cat
каталог, это не имеет смысла. Если вы просто хотите увидеть имена всех подкаталогов первого уровня данного каталога, вы можете использовать echo
, который просто печатает то, что вы ему даете:
$ for dir in foo/*/; do echo "$dir"; done
foo/dir1/
foo/dir2/
foo/dir3/
foo/dir4/
Вам даже не нужна петля:
$ echo foo/*/
foo/dir1/ foo/dir2/ foo/dir3/ foo/dir4
Чтобы получить только имена каталогов, без пути:
$ for dir in foo/*/; do basename "$dir"; done
dir1
dir2
dir3
dir4
Кроме того, вы можете cd
перейти по пути:
$ cd foo
$ echo */
dir1/ dir2/ dir3/ dir4/
Или cd
в подоболочке, чтобы вы оставались там, где были изначально, когда команда завершается:
$ ( cd foo && echo */ )
dir1/ dir2/ dir3/ dir4/
Или, чтобы получить их на отдельных строках, а также гарантировать, что это будет работать даже для странных имен каталогов (, например. имя, содержащее новую строку):
$ ( cd foo && printf -- '%s\n' */ )
dir1/
dir2/
dir3/
dir4/
Наконец, если имена ваших каталогов могут содержать новые строки или другие странности, используйте: