【问题标题】:Escape dollar sign in command line arguments在命令行参数中转义美元符号
【发布时间】:2015-10-26 19:06:56
【问题描述】:

当我通过命令行传入“$1000”并通过args[0]检索字符串时,它变成了“000”。如何在我的 java 代码中维护完整的字符串?

【问题讨论】:

    标签: java args


    【解决方案1】:

    我猜你正在使用某种 Unix 系统,因为 '$' 是 bash & co 中的变量符号。尝试使用单引号(例如java MyClass '$1000'

    【讨论】:

    • 如果使用双引号,是否有任何方式以编程方式保留完整输入?
    • 没有。变量插值(将指定为$FOO 的变量替换为其值“BAR”或在本例中为空字符串替换$1 的操作)由shell 在您的程序获取数据之前完成。你绝对没有办法阻止它。用户必须通过java MyClass '$1000'java MyClass \$1000 转义数据。
    • 非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 2020-01-19
    • 2015-06-17
    • 2021-07-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2017-02-19
    相关资源
    最近更新 更多