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
}

필요에 따라 다른 기본 옵션을 조정합니다.

관련 정보