bash에 다음 별칭이 있고 옵션 없이 일반 호출을 alias ls='ls --color=auto'
원한다고 가정합니다. ls
별칭을 해제하고 명령을 실행한 다음 다시 별칭을 지정하는 유일한 방법이 있습니까? 아니면 몇 가지 깔끔한 요령이나 해결 방법이 있나요?
답변1
답변2
이것이 바로 이 command
명령의 목적입니다.
노력하다
command ls
이는 쉘이 별칭과 기능을 우회하도록 지시합니다.
이 방법은 지원합니다세게 때리다,다루기 힘든, 그리고금연 건강 증진 협회/스프린트.
답변3
별칭은 정의에 대한 바로가기일 뿐입니다. 이 예에서 정의된 별칭은 문자열이며 ls
실행됩니다 ls --color=auto
. 이 동작을 원하지 않으면 ls
절대 경로를 사용하여 바이너리를 호출할 수 있습니다.
따라서 실행하면 /bin/ls
정의한 별칭이 아니기 때문에 색상 없이 출력이 생성됩니다.
별칭을 다른 이름으로 변경하거나 ls
색상 매개변수 없이 실행되는 새 별칭을 추가할 수도 있습니다.
답변4
개인적으로 저는 명령과 동일한 이름으로 별칭을 정의하는 것을 피하므로 ls
항상 실제 명령이 호출됩니다. l
, ll
및 와 같은 다양한 옵션 조합에 대한 별칭이나 함수가 있습니다 lg
. (즉, unalias ls
내 .bashrc
또는 에 필요하다는 의미입니다 .cshrc
.)
나는 내가 어떤 옵션을 좋아할지에 대한 운영 체제의 가정(명령 자체의 설계자의 가정을 무시함 ls
)이 내 개인적인 취향과 거의 일치하지 않는다는 것을 알았습니다. 제가 이 모양에 대해 싫어하는 점 중 하나는 ls --color=auto
흰색 배경의 검정색 텍스트와 검정색 배경의 흰색 텍스트 사이에서 가독성이 크게 다르다는 것입니다.
YMMV, 다른 솔루션도 확실히 알아 둘 가치가 있습니다.