Linux

ls -A 有什麼作用?

  • April 5, 2021

ls -A 有什麼作用?我找到了這個 shell 腳本,但我不知道 ls -A 做了什麼。在手冊中它寫道,ls -A == do not list implied . and ..但我不明白這是什麼意思。

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

通常ls不列印以點開頭的文件名。With -a,確實如此,但包括.and ..,它存在於所有目錄中,因此不是很有趣。用-A它列印除這兩個之外的所有內容。

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

在該 if 語句中,命令替換$( .. )擷取 的輸出ls,並[[ -z ... ]]測試它是否為空字元串。也就是說,目錄中沒有文件。

通常,讀取 的輸出ls不是一個好主意,如果你想在 shell 中循環文件,你可以使用*. 在這裡,它應該可以工作,除瞭如果給定的目錄名稱包含空格(或文件名全域字元),它們將在命令行上展開ls,這可能會弄亂結果。

看:

引用自:https://unix.stackexchange.com/questions/643667