별칭이 작동하지 않나요?

별칭이 작동하지 않나요?

~/.cshrc에 이와 같이 별칭을 만듭니다.

alias bw  "bjobs -w | awk '{print $7}'"

하지만 7달러는 아닙니다. 어떻게 해결할 수 있나요?

답변1

시도해보고 무엇을 확인하십시오시추별칭은 명령 프롬프트에 다음을 입력하여 정의되었습니다.

% 별칭 가중치

bjobs-w|'{인쇄}'

무슨 일이에요? 쉘은 $7(아무 것도 없음)이라는 쉘 변수를 확장하고 별명 정의를 널값으로 채웁니다.

따라서 이것은 그 자체로 해결책을 제시합니다. 별칭 정의에 그대로 입력하려면 껍질의 엿보는 눈에서 벗어나 $7로 달러를 인용해야 합니다.

% 별칭 ​​bw "bjobs -w | awk '{print "\$"7}'"

이제 별칭이 무엇인지 테스트하면 다음과 같습니다.

% 별칭 가중치

bjobs-w|'{인쇄 $7}'

이것이 바로 명령줄에 입력하는 내용입니다!

별칭 정의 작성을 수행하기 위해 다음 3단계로 수행합니다.

 - The quoting is done by closing the double quotes just before the $ to
            come out of the alias' quoting.
 - Now the $ needs to be escaped via a backslash to stop it from being 
            expanded before the alias takes effect.
 - Start the double quotes to re-enter the alias' quoting.

** 이해하기 쉽도록 그래픽으로 그릴 수 있었으면 좋겠습니다.

답변2

노력하다:

alias bw 'bjobs -w | awk '\''{print $7}'\'''

csh따옴표는 고통 스럽습니다.

관련 정보