Не перечислять файл.gitkeep в дереве, а также нераспознанную кодировку
По какой-то причине, когда я выполняю этот скрипт, я создал файл .gitkeep
не отображается в дереве вывода, а также мое объявление UTF8 для кодировки неверно.
Вот мой текущий код скрипта:
#!/bin/bash
echo "Type in directory path to tree"
read directoryPath
tree -a -l -f -L 5 -P --charset UTF8 -h --device --dirsfirst -C $directoryPath
Вот моя команда и вывод
root@selector:/var/www/selector-skeleton-application# ./scripts/tree-directory.sh
Type in directory path to tree
/var/www/selector-skeleton-application/lib/pluto/src
/var/www/selector-skeleton-application/lib/pluto/src
0 directories, 0 files
Тем не менее, вот общий вывод команды вывода каталога
root@selector:/var/www/selector-skeleton-application# cd lib/pluto/src/
root@selector:/var/www/selector-skeleton-application/lib/pluto/src# ll
total 8
drwxr-xr-x 2 root root 4096 Feb 6 01:06 ./
drwxr-xr-x 4 root root 4096 Feb 6 01:01 ../
-rw-r--r-- 1 root root 0 Feb 6 01:06 .gitkeep
root@selector:/var/www/selector-skeleton-application/lib/pluto/src#
И, наконец, это также отображается в выводе с помощью сценария, который я создал:
UTF8 [error opening dir]
1 ответ
Решение
Эта конкретная комбинация опций: -P --charset UTF8
не имеет смысла. -P
используется для установки шаблона для каталогов, которые tree
должен напечатать:
-P pattern
List only those files that match the wild-card pattern.
Вы установили шаблон на --charset
, который .gitkeep
не совпадает, конечно. Что оставляет UTF8
в качестве необязательного аргумента, который tree
интерпретирует как имя каталога, следовательно, вы получаете ошибку.