Wie führe ich Programme mit Argumenten wie „arg=val“ (z. B. dd) in der RC-Shell aus (von Plan9 OS portierte Linux-Version)?

Wie führe ich Programme mit Argumenten wie „arg=val“ (z. B. dd) in der RC-Shell aus (von Plan9 OS portierte Linux-Version)?

Ich versuche, rc shell (Linux-Port von Plan9 OS) zu verwenden und erhalte Syntaxfehlermeldungen, wenn ich Programme mit Argumenten wie verwendearg=Wert.

; dd if=/dev/zero of=/dev/null
syntax error
; ls --color=auto
syntax error

Ich vermute, dass die RC-Shell=signiert und behandelt die Anweisung als Variablenzuweisung, nicht als Programmausführung. Möglicherweise gibt es in Plan9 kein DD-Programm oder andere Programme, die diese Art von Argumenten verwenden. Aber wie kann ich es unter Linux verwenden, wo sie weit verbreitet sind?

Ich habe versucht zu fliehen=wie dd if\=... of\=, es hat nicht geholfen.

Ich habe versucht, Argumente wie diese zu zitieren, dd 'if=/dev/zero' 'of=/dev/null' 'bs=1M' 'count=1'und es hat funktioniert. Aber es ist nicht sehr bequem. Gibt es einen anderen, bequemeren Weg?

Ich verwende die RC-Shell aus dem Ubuntu 11.10-Repository: Paketversion 1.7.1-3ubuntu1.

Antwort1

entsprechend man rc:

Die folgenden Zeichen sind Sonderzeichen: # ; & | ^ $ = ` ' { } ( ) < > Das einfache Anführungszeichen (') verhindert die Sonderbehandlung anderer Zeichen als sich selbst.

Es handelt sich hierbei =um einen speziellen Charakter, den Sie zum Entkommen benötigen.

Wenn Ihnen die Syntax nicht gefällt:

ls '--color=auto'

Sie können dem =Zeichen nur folgendermaßen entkommen:

ls --color'='auto

aber ich glaube nicht, dass es besser ist.

verwandte Informationen