¿Cómo ejecutar programas con argumentos como 'arg=val' (por ejemplo, dd) en rc shell (versión de Linux portada desde Plan9 OS)?

¿Cómo ejecutar programas con argumentos como 'arg=val' (por ejemplo, dd) en rc shell (versión de Linux portada desde Plan9 OS)?

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.

información relacionada