我有一个 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
$
Run Code Online (Sandbox Code Playgroud)
当我直接执行命令时,
$ 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
$
Run Code Online (Sandbox Code Playgroud)
/附加正斜杠( )。我怎样才能让_tree.sh文件做到这一点?
要为目录附加尾部斜杠,只需修改代码以包含该-F选项即可_tree.sh:
tree -F -L 2 --charset ascii -I "_tree.sh|LICENSE|README.md|node_modules|nbproject"
Run Code Online (Sandbox Code Playgroud)
默认情况下,程序tree(例如版本 1.7.0)不附加尾部斜杠。正如 @steeldriver 指出的那样,这可能只是由于-F系统上某处启用了选项,例如在别名内~/.bashrc或~/.bash_aliases定义为别名,这使得您tree在终端上运行时看到尾随斜杠。要在脚本中也包含尾部斜杠,只需在命令-F中添加选项即可tree。