如何在rc shell(從Plan9作業系統移植的Linux版本)中執行帶有「arg=val」(例如​​dd)等參數的程式?

如何在rc shell(從Plan9作業系統移植的Linux版本)中執行帶有「arg=val」(例如​​dd)等參數的程式?

我正在嘗試使用 rc shell(來自 Plan9 OS 的 Linux 連接埠),並在使用帶有以下參數的程式時收到“語法錯誤”訊息參數=值

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

我的猜測是 rc shell 看到=符號並將該語句視為變數賦值,而不是程式運行。 Plan9 中可能沒有 dd 程式或其他程式使用此類參數。但如何在它們廣泛使用的 Linux 中使用它呢?

我嘗試逃避=就像dd if\=... of\=,這沒有幫助。

我嘗試引用類似的論點dd 'if=/dev/zero' 'of=/dev/null' 'bs=1M' 'count=1'並且它有效。但不是很舒服。還有其他更方便的方法嗎?

我使用的是 Ubuntu 11.10 儲存庫中的 rc shell:軟體套件版本 1.7.1-3ubuntu1。

答案1

根據man rc

以下字元是特殊字元:#; & | ^ $ = ` ' { } ( ) < > 單引號 (') 防止對自身以外的任何字元進行特殊處理。

=您需要轉義的特殊字元也是如此。

如果您不喜歡語法:

ls '--color=auto'

您可以=透過以下方式僅轉義字元:

ls --color'='auto

但我認為這並沒有更好。

相關內容