Shell回显到多行文件?

时间:2011-03-08 08:19:33

标签: shell unix

我正在做的是:shell文件中的echo put $clientfilepath'client-'$clientversion-'.jar' >> ftp.ftp$clientfilepath为:c:\\workspace\\project\\jack\\prj1\\target\\$clientversion1.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 \所以文件路径中的任何内容都不应被视为特殊字符。 那么有谁知道发生了什么?

2 个答案:

答案 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