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
しかし、私はそれが良いとは思わない。