macOS: ls 명령이 작동을 멈춥니다.

macOS: ls 명령이 작동을 멈춥니다.

내 macOS(10.11.6) 터미널에서 Python 가상 환경에 일부 설치를 수행했습니다. 그 후 내 ls명령이 작동을 멈췄습니다. 오류가 발생합니다.

$ ls
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

$ alias ls
alias ls='colourify ls --color'

답변1

ls어떤 프로그램이 내 cmd를 먼저 망쳤나요? 파이썬인가요?

귀하의 ls명령은 영향을 받지 않습니다. 당신의ls 별명Bourne Again 셸 설정이 잘못되었기 때문일 가능성이 높습니다.

귀하의 별칭은 ls다른 별칭을 통해 명명된 명령을 실행하고 있습니다. 이것은에서 비롯됩니다grccolourifyRadovan Garabík의 범용 토너, Bourne Again 쉘 별칭(grc.bashrc) 및 Z 셸 별칭(grc.zsh)라는 별칭을 설정합니다 ls.

rc 파일 어딘가에 아래 제안된 대로 대화형 Bourne Again 셸에 이러한 별칭을 추가할 수 있습니다.이 스택 오버플로 답변.

Z 쉘 별칭은 다음과 같습니다.

별칭 ls="grc --color=auto ls"
옵션을 사용하는 명령인 명령 --colour-auto에 옵션을 전달합니다 .grc

그러나 Bourne Again 쉘 별칭은 다음과 같습니다.

별칭 ls='colorify ls --color'
( colourify별칭을 통해) 효과적으로

별칭 ls='grc -es --colour=auto ls --color'
이것은둘 다ls셰이더를 통한 실행 명령 출력그리고ls출력 색상을 지정하는 명령을 얻으려고 합니다 .

기본적인 문제는 이러한 Bourne Shell 별칭(저는 2016년 5월 Oracle의 Isaias Piña입니다.)은 Linux 이외의 운영 체제에서 Bourne Again 셸을 실행하는 데 적합하지 않습니다. MacOS를 사용하는 경우 Oh My Zsh와 같은 것을 사용할 것으로 예상할 수 있습니다. 또 다른 문제는 작성자가 grc의 출력에 색상을 지정할 수 없지만 자신의 출력에 색상을 지정 ls해야 한다는 것입니다 .ls

따라서 몇 가지 옵션이 있습니다.

  • 이러한 별칭이 추가된 위치를 찾아 MacOS에서 ls옵션을 사용 하도록 Isaias Piña의 잘못된 별칭을 수정하세요.-G
  • 이러한 별칭이 추가된 위치를 찾아 Isaias Piña의 잘못된 ls별칭을 수정하여 옵션을 사용하지 않고 대신 셰이더 conf.ls파일에 의존하여 실제 작업을 수행하도록 합니다.톰 머드가 말했듯이.
  • 이러한 별칭이 추가된 위치를 찾아 lsIsaias Piña의 잘못된 별칭을 완전히 제거하고 CLICOLOR대신 색상 지정에 환경 변수를 사용하십시오.노엘 B. 알론소가 그랬듯이.
  • 이러한 별칭이 추가된 위치를 찾아 ls자신의 별칭을 사용하여 lsIsaias Piña의 잘못된 별칭을 완전히 제거하세요 .Arthur Nisnevich가 그랬듯이.
  • 범용 셰이더를 완전히 제거합니다.
  • Z 쉘을 사용하십시오.

답변2

방금 iTerm2를 버전으로 업데이트했는데 Build 3.0.14이 문제가 발생했습니다. coreutils에 대한 명령이 ls더 이상 내 경로에 없습니다. 실행 후:

brew install coreutils

새 쉘을 열면 문제가 해결됩니다. ~/.bashrc에 다음과 같은 별칭이 있습니다.

export LS_OPTS='--color=auto'
alias ls='ls ${LS_OPTS}'

답변3

이 옵션은 macOS(Darwin) ls에서는 지원되지 않습니다 --color. homebrew, macports 또는 pkgsrc와 같은 것에서 다른 복사본을 설치 했는데 coreutils이제 사라지거나 순서가 변경되었습니까 PATH?

답변4

Homebrew가 grc 1.10_1 새 버전으로 업데이트되어 이 문제가 해결되었습니다.

관련 정보