bash機能を使用して非表示にされていないディレクトリのみを表示する

bash機能を使用して非表示にされていないディレクトリのみを表示する

私が望む方法で働くことを可能にする多くの質問がありました。 CLI でこのコマンドを実行すると、非表示 ("." で始まらない) ディレクトリが表示され、そのディレクトリを詳しく見ていません。

find /home/pbw10 -type d -path '*/.*' -prune -o -not -name '.*' -print

ただし、関数の内部にある場合は、ファイルだけでなくすべてのディレクトリが表示されます。この例は、問題が何であるかをより明確にするために実際に行った作業を簡素化しました。

runIt() {
    thePath='/home/pbw10'
    theCmd="find $thePath -type d"
    theCmd+=" -path '*/.*' -prune -o -not -name '.*' -print"
    # Show it.
    echo "$theCmd"
    # Runs it.
    # This does not exclude the hidden directories (or files).
    echo "$($theCmd)"
}

私はbash機能をほとんど使用しないので、bashに慣れている人にとってはこれが簡単であることを願っています。

ベストアンサー1

おすすめ記事