如何将一个以$开头的参数从cygwin终端传递给ant?

时间:2015-04-21 10:21:14

标签: ant cygwin special-characters

我正在从Cygwin终端运行ant命令,我正在签署我的exe。 我正在运行类似于

的命令
ant -Dpassword=$abcde

此处$abcde是我的密码,但当我运行echo时,它会将密码显示为空白。

如何将$作为我的论证的一部分,ant可以处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

在Unix shell中,$符号用于标识shell变量。要防止参数扩展由于被视为变量,您需要:

  • 逃避它(通过预先反斜杠)
  • 或将其包装在单个引号中(引用会删除某些字符的特殊含义,例如$

以下任何一种都应该有效:

ant -Dpassword=\$abcde
ant -Dpassword='$abcde'

编辑:似乎ant将美元符号视为特殊字符。假设ant可以使用反斜杠来转义特殊字符,则反斜杠和美元字符都应该由shell传递给ant

ant -Dpassword='\$abcde'