【问题标题】:Argument separation in bash/command promptbash/命令提示符中的参数分离
【发布时间】:2017-11-15 19:44:09
【问题描述】:

前几天我在 Windows cmd 上运行了以下代码:

$java -cp . myProgram > output.txt

我可以在 unix bash 中做同样的事情。

我的问题如下:

  • >output.txt 怎么没有作为参数传递给myProgram

  • 如果我希望我的程序接收 > 作为参数怎么办?

【问题讨论】:

  • 我的猜测是,该命令是事先解析的,而解析器或任何具有符号“>”的查找表,从而分离了参数,是不是类似的东西?
  • 对于bash,阅读man bash 的前几页,尤其是“元字符”和“SHELL GRAMMAR”。

标签: bash cmd arguments


【解决方案1】:

元字符>由shell处理,运行程序时参数中不包含这个字符和后面的文件名。如果您希望它按字面意思传递给程序,则需要引用它。

java -cp . myProgram ">" output.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 2013-03-30
    • 1970-01-01
    • 2012-11-12
    • 2017-11-25
    • 2011-07-14
    • 2011-02-19
    • 2011-07-14
    相关资源
    最近更新 更多