Command-Line

Coreutils(或其他)ls:管道時不要附加指示類型的符號

  • February 27, 2018

有沒有辦法讓 GNU coreutils ls(或任何其他開源)僅在輸出管道時ls省略尾隨符號(*用於執行檔、/目錄等)?

GNUls有一個--color[=WHEN]選項auto,可以在未通過管道輸出時自動顯示顏色,並在輸出通過管道時忽略顏色的控制序列。我正在尋找關於指示文件類型的尾隨符號的相同行為。

大概您有一個別名,ls即無條件添加-F(or --classify) 選項。我會通過創建一個包裝函式來測試標準輸出是否是終端來解決這個問題;-F僅當輸出為終端時才添加該選項。

function ls {
 if [ -t 1 ]
 then
   command ls -F "$@"
 else
   command ls "$@"
 fi
}

根據需要調整其他預設選項。

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