Coreutils(またはその他) `ls`:パイプするときに型を表す記号を追加しないでください。

Coreutils(またはその他) `ls`:パイプするときに型を表す記号を追加しないでください。

ls出力がパイプされたとき(実行可能ファイル、ディレクトリなど)にのみ、GNU coreutils(または他のオープンソース)に末尾のls記号を省略させる方法はありますか?*/

GNUには、出力がパイプされていないときに自動的に色を表示し、出力がパイプされたときに色を省略する制御シーケンスを許可するオプションがlsあります。ファイル形式を表す末尾の記号に関して同じ動作を探しています。--color[=WHEN]auto

ベストアンサー1

ls-Fおそらく無条件に追加(または)オプションのエイリアスがあります--classify。 stdoutが端末かどうかをテストするラッパー関数を生成し、出力が端末-Fの場合にのみオプションを追加してこの問題を解決します。

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

必要に応じて他のデフォルトオプションを調整します。

おすすめ記事