ls -Aは何をしますか?

ls -Aは何をしますか?

ls -Aは何をしますか?私はこのシェルスクリプトを見つけましたが、ls -Aが何をしているのかわかりません。指示にはそのように示されていますが、ls -A == do not list implied . and ..それが何を意味するのか理解できません。

dir=./$1
if [[ -z $(ls -A $dir) ]]

ベストアンサー1

lsドットで始まるファイル名は通常印刷されません。これはに当てはまりますが、すべてのディレクトリに存在し、が含まれている-aため、あまり興味深いものではありません。これら2つを除くすべてを印刷するために使用します。...-A

$ touch normal .hidden
$ ls
normal
$ ls -a
./  ../  .hidden  normal
$ ls -A
.hidden  normal

ifステートメントでは、コマンドはキャプチャされ$( .. )た出力をls置き換えて[[ -z ... ]]空の文字列かどうかをテストします。つまり、ディレクトリにファイルがありません。

通常、ls出力を読むのは良い考えではなく、シェルでファイルを繰り返すには使用できます*。ただし、ここでは指定されたディレクトリ名に空白(またはファイルグローバル文字)、コマンドラインから展開され、結果が混乱する可能性lsがあります。

望むより:

おすすめ記事