我有一个 shell 脚本执行tree
命令
$ cat _tree.sh
#!/bin/sh
tree -L 2 --charset ascii -I "_tree.sh|LICENSE|README.md|node_modules|nbproject"
$ sh _tree.sh
.
|-- bower.json
|-- dpl
|-- dst
|-- gulpfile.js
|-- package.json
`-- src
|-- fonts
|-- images
|-- scripts
`-- styles
7 directories, 3 files
$
当我直接执行命令时,
$ tree -L 2 --charset ascii -I "_tree.sh|LICENSE|README.md|node_modules|nbproject"
.
|-- bower.json
|-- dpl/
|-- dst/
|-- gulpfile.js
|-- package.json
`-- src/
|-- fonts/
|-- images/
|-- scripts/
`-- styles/
7 directories, 3 files
$
/
附加正斜杠( )。我怎样才能让_tree.sh
文件做到这一点?
答案1
要为目录附加尾部斜杠,只需修改代码以包含该-F
选项即可_tree.sh
:
tree -F -L 2 --charset ascii -I "_tree.sh|LICENSE|README.md|node_modules|nbproject"
解释
默认情况下,程序tree
(例如版本 1.7.0)不附加尾部斜杠。正如 @steeldriver 指出的那样,这可能只是由于-F
系统上某处启用了选项,例如在别名内~/.bashrc
或~/.bash_aliases
定义为别名,这使得您在tree
终端上运行时看到尾随斜杠。要在脚本中也包含尾部斜杠,只需-F
在命令中添加选项即可tree
。