出于某种原因,当我执行这个脚本时,我创建的文件.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]
这种特殊的选项组合:
-P --charset UTF8
没有意义。-P
用于为tree
应该打印的目录设置模式:您已将模式设置为
--charset
,当然这.gitkeep
不匹配。这留下UTF8
了一个非选项参数,它tree
解释为一个目录名称,因此你得到的错误。