我正在做的是:shell文件中的echo put $clientfilepath'client-'$clientversion-'.jar' >> ftp.ftp
。
$clientfilepath
为:c:\\workspace\\project\\jack\\prj1\\target\\
且$clientversion
为1.0-snapshot
我对ftp.ftp的期望:
put
c:\\workspace\\project\\jack\\prj1\\target\\client-1.0-snapshot.jar
但我得到的是:
put c:\\workspace\\project\\jack\\prj1\\target\\
client-1.0-snapshot
.jar
我正在使用double \所以文件路径中的任何内容都不应被视为特殊字符。 那么有谁知道发生了什么?
答案 0 :(得分:0)
echo put $clientfilepath'client-'$clientversion-'.jar'|tr '\n' '' >> ftp.ftp
答案 1 :(得分:0)
您可以简化引用:
echo "put ${clientfilepath}client-${clientversion}-.jar" >> ftp.ftp
尝试查看它是否有助于解决您的问题。另请尝试使用printf
代替echo
:
printf 'put %sclient-%s-.jar\n' "$clientfilepath" "$clientversion" >> ftp.ftp