我试图使用rc (来自Plan9 OS的Linux),并在使用带有参数(如arg=val )的程序时获取“语法错误”消息。
; 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'这样的论点,结果成功了。但不太舒服。还有其他更方便的方法吗?
我正在使用来自Ubuntu11.10存储库的rc shell :包版本1.7.1-3 ubuntu1。
发布于 2012-04-11 15:53:18
根据man rc的说法:
以下字符是特殊的:#;& other;^$=‘’{}()<>单引号(')防止对除其本身以外的任何字符进行特殊处理。
因此,=是一个特殊的字符,您需要逃离。
如果您不喜欢这种语法:
ls '--color=auto'您只能通过以下方式转义=字符:
ls --color'='auto但我不认为这样更好。
https://unix.stackexchange.com/questions/36216
复制相似问题