我想,以取代‘貓’這裏這麼源的訂單項可以有空格,使這個Rsync的腳本更便攜(在OSX)。使用「貓」到文件名包含空格
?各位高手可否請您建議如何做到這一點的其他建議,以改善這也不勝感激謝謝
丹
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH
LOG="/Users/jdoe/Desktop/rsync-`/bin/date +%m%d%Y`.log"
EXCLUDE="/tmp/exclude.dat"
{
echo "-----------------------------------------------"
echo "Start:" $0
echo "-----------------------------------------------"
date "+%a %m-%d-%y %H:%M:%S"
echo "-----------------------------------------------"
options="-aNHxEh --delete --fileflags --exclude-from=$EXCLUDE --delete-excluded --force-change --progress --stats --protect-args"
destin='/Users/jdoe/Desktop/DEST/'
for source in $(cat /tmp/list.dat)
do
echo "Source: " $source
echo "Destination: " $destin
echo "rsync" $options $source $destin
/opt/local/bin/rsync $options $source $destin
retcode=$?
if [ $retcode -gt 0 ]
then
echo "ERROR: rsync " $source "failed with code " $retcode
fi
echo "-----------------------------------------------"
date "+%a %m-%d-%y %H:%M:%S"
echo "-----------------------------------------------"
done
echo "-----------------------------------------------"
echo "End:" $0
echo "-----------------------------------------------"
} >> $LOG 2>&1
exit 0
考慮使用一個數組來保存你的選擇:http://mywiki.wooledge.org/ BashFAQ/050 - 只要情況稍微複雜一點,你就會開始分解。 –
是的,這是一個很好的建議,也是我剛剛實施的一個建議。感謝您指出了這一點! – Dan