在命令行参数中转义美元符号

Joh*_*Fda 5 java args

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

sec*_*ive 5

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

  • 不能。变量插值(用值“ BAR”替换指定为“ $ FOO”的变量,或者在这种情况下用空字符串替换“ $ 1”的动作)是在程序获取数据之前由外壳程序完成的。 。您绝对无法停止它。用户*必须*通过`java MyClass'$ 1000'`或`java MyClass \ $ 1000`转义数据。 (2认同)