%EC%97%90%EC%84%9C%20'arg%3Dval'(%EC%98%88%3A%20dd)%EA%B3%BC%20%EA%B0%99%EC%9D%80%20%EC%9D%B8%EC%88%98%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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
하지만 내 생각엔 그게 더 나은 것 같지는 않아.