%20in%20der%20RC-Shell%20aus%20(von%20Plan9%20OS%20portierte%20Linux-Version)%3F.png)
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.