.cshrc의 변수를 사용하여 별칭을 만드는 방법은 무엇입니까?

.cshrc의 변수를 사용하여 별칭을 만드는 방법은 무엇입니까?

예를 들어 중복 행을 제거하기 위해 별칭을 만들고 싶습니다.

alias rm.dup  'perl -ne 'print unless $dup{$_}++;''

.cshrc를 소싱할 때 "dup: 정의되지 않은 변수"라고 보고됩니다.

로 변경된 경우

alias rm.dup  'perl -ne 'print unless \$dup{$_}++;' \!* &'

"!*&: 명령을 찾을 수 없습니다."라고 보고됩니다.

그리고 또한 시도했다

alias rm.dup  'perl -ne 'print unless \$dup{$_}++;''

보고: ": 명령을 찾을 수 없습니다."

별칭이 있는 변수를 사용하는 일반적인 규칙은 무엇입니까?

답변1

alias rm.dup  'perl -ne '\''print unless $dup{$_}++'\'' \!* &'

작은 따옴표 안에 작은 따옴표를 삽입할 수 없기 때문에 한 가지 방법은 작은 따옴표를 분리하고 리터럴 따옴표를 삽입한 다음 따옴표를 다시 시작하는 것입니다.

'perl -ne '\''print unless $dup{$_}++'\'' \!* &'
|---------|B |-----------------------|D |------|
     A                   C                  E

또 다른 방법은 다음과 같습니다.

alias rm.dup  'perl -ne "print unless "\$"dup{"\$"_}++" \!* &'

관련 정보