我目前正在使用:
rsync -e ssh "$f" $destination:$destinationFolder/"$baseFileName.lck"
如果baseFileName中有空格,这不起作用。
我也在其他几个地方使用baseFileName,例如:
destChecksum="$(echo "$(ssh $destination md5sum $destinationFolder/"$baseFileName.lck")"| cut -d \ -f 1)"
此行也会在baseFileName中存在空格时中断。 请提出解决方案。
答案 0 :(得分:0)
尝试
rsync -e ssh "$f" $destination:$destinationFolder/"${baseFileName// /\ }.lck"
答案 1 :(得分:0)
您需要使用反斜杠字符\
来转义baseFileName中的空格。
因此,如果文件名为my file.txt
,则需要将其值$baseFileName
设为my\ file.txt
。
如果您从文件中获取baseFileName,则可以使用sed
之类的工具来搜索并用反斜杠和空格字符替换空格字符。