rc 셸(Plan9 OS의 Linux 포트)을 사용하려고 하는데 다음 매개변수와 함께 프로그램을 사용할 때 "구문 오류" 메시지가 나타납니다.매개변수=값.
; dd if=/dev/zero of=/dev/null
syntax error
; ls --color=auto
syntax error
내 생각엔 rc 쉘이 보는 것 같다=기호를 사용하고 명령문을 프로그램 실행이 아닌 변수 할당으로 처리합니다. Plan9에는 이러한 매개변수를 사용하는 dd 프로그램이나 다른 프로그램이 없을 수 있습니다. 하지만 널리 사용되는 Linux에서는 어떻게 사용합니까?
나는 탈출을 시도한다=처럼 dd if\=... of\=
, 그것은 도움이 되지 않습니다.
비슷한 주장을 인용해 보았 dd 'if=/dev/zero' 'of=/dev/null' 'bs=1M' 'count=1'
더니 효과가 있었습니다. 하지만 그다지 편안하지는 않습니다. 좀 더 편리한 방법이 없을까요?
Ubuntu 11.10 저장소: 패키지 버전 1.7.1-3ubuntu1의 rc 셸을 사용하고 있습니다.
답변1
에 따르면 man rc
:
다음 문자는 특수 문자입니다. #; & | ^ $ = ` ' { } ( ) < > 작은따옴표(')는 자신을 제외한 모든 문자의 특수 처리를 방지합니다.
=
이스케이프해야 하는 특수 문자도 마찬가지입니다.
구문이 마음에 들지 않으면 다음을 수행하십시오.
ls '--color=auto'
=
다음과 같은 방법으로 문자만 이스케이프 할 수 있습니다 .
ls --color'='auto
그러나 나는 그것이 더 낫다고 생각하지 않습니다.