별칭으로 숨겨진 명령 실행

별칭으로 숨겨진 명령 실행

bash에 다음 별칭이 있고 옵션 없이 일반 호출을 alias ls='ls --color=auto'원한다고 가정합니다. ls별칭을 해제하고 명령을 실행한 다음 다시 별칭을 지정하는 유일한 방법이 있습니까? 아니면 몇 가지 깔끔한 요령이나 해결 방법이 있나요?

답변1

백슬래시를 앞에 붙여 별칭을 비활성화할 수도 있습니다.\ls

편집: 동일한 작업을 수행하는 다른 방법은 다음과 같습니다.

"명령"을 사용하세요: command ls따르세요미켈.

전체 경로 사용: /bin/ls팔로우우서.

명령을 인용 "ls"하거나 'ls'Mikel의 의견을 따르십시오.

별칭을 사용하여 터미널 세션을 일시적으로 삭제할 수 있습니다 unalias command_name.

답변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, 다른 솔루션도 확실히 알아 둘 가치가 있습니다.

관련 정보