我有一个bash脚本从网站下载数据。为此,我需要使用网站的java客户端传递用户名和密码。我的密码有一个特殊字符,导致问题。我尝试过通常的解决方案,但没有一个正常。
#!/bin/sh
#$ -cwd
MYPASSWORD='password&123'
java -jar client.jar -p username $MYPASSWORD file.gz
在命令中直接使用\或使用变量。但那没有用。登录失败!
MYPASSWORD=password\&123
java -jar client.jar -p username $MYPASSWORD file.gz
尝试""或者''。登录失败。
MYPASSWORD='password&123'
java -jar client.jar -p username "\"$MYPASSWORD\"" file.gz
也尝试过,没有运气。 MYPASSWORD ='密码'"&安培;"' 123'
任何建议都会有所帮助。重置此网站上的密码似乎也存在问题。
答案 0 :(得分:2)
只需引用参数。
mypassword='password&123'
java -jar client.jar -p username "$mypassword" file.gz
引号仅用于防止shell在扩展参数后对mypassword
的值进行任何进一步处理。您实际上并没有将引号传递给您的程序。