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
。