Estoy intentando usar rc shell (puerto Linux del sistema operativo Plan9) y recibo mensajes de "error de sintaxis" cuando uso programas con argumentos comoarg=valor.
; dd if=/dev/zero of=/dev/null
syntax error
; ls --color=auto
syntax error
Supongo que rc shell ve=firma y trata la declaración como una asignación de variable, no como una ejecución de programa. Es posible que no haya ningún programa dd u otros programas que utilicen este tipo de argumentos en Plan9. ¿Pero cómo puedo usarlo en Linux donde se usan mucho?
Intenté escapar=como dd if\=... of\=
si no sirviera de nada.
Intenté citar argumentos como dd 'if=/dev/zero' 'of=/dev/null' 'bs=1M' 'count=1'
y funcionó. Pero no es muy cómodo. ¿Existe alguna otra forma más práctica?
Estoy usando rc shell del repositorio de Ubuntu 11.10: versión del paquete 1.7.1-3ubuntu1.
Respuesta1
de acuerdo a man rc
:
Los siguientes caracteres son especiales: # ; & | ^ $ = ` ' { } ( ) < > La comilla simple (') impide un tratamiento especial de cualquier carácter que no sea él mismo.
También lo =
es un personaje especial del que debes escapar.
Si no te gusta la sintaxis:
ls '--color=auto'
puedes escapar solo del =
carácter mediante:
ls --color'='auto
pero no creo que sea mejor.