예를 들어 중복 행을 제거하기 위해 별칭을 만들고 싶습니다.
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{"\$"_}++" \!* &'