シェルスクリプトのtreeコマンドはディレクトリにスラッシュを追加しません。

シェルスクリプトのtreeコマンドはディレクトリにスラッシュを追加しません。

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

おすすめ記事