0
在下面bash
備份腳本:寫入文件在錯誤的道路使用bash
PROJECT="testPrj"
BACKUP_DIR="~/Documents/backups/"
BACKUP_FILES="./*.sh ./*.h ./*.hpp ./*.c ./*.cc ./*.cpp ./*.md ./*.txt ./BUILD"
BACKUP_TIME=_`date +%Y%m%d_%H%M`
BACKUP_FILENAME=$BACKUP_DIR$PROJECT$BACKUP_TIME.tar.bz2
mkdir -p $BACKUP_DIR
echo "Created backup directory:" $BACKUP_DIR
echo $BACKUP_FILENAME
tar -cpjf $BACKUP_FILENAME $BACKUP_FILES
這是輸出:
創建的備份目錄:〜/文檔/備份/ 〜/文檔/backups/testPrj_20170206_1609.tar.bz2
我得到了錯誤路徑中的壓縮文件。而不是被: ~/Documents/backups/
不言而喻的:\~/Documents/backups/
此目標目錄有效存在的,它是在本地路徑。
從命令行自行運行mkdir
會在正確的位置創建目錄。
''在引號中不會展開到您的主目錄。使用'BACKUP_DIR =〜/「文件/備份/」'。另外,爲變量名使用小寫是最安全的,因此您不會意外地使用對shell或其他程序有特殊含義的變量名(使用'$ PATH'就是一個典型示例)。 –
你是對的。如果您將此評論移至答案,我會接受它。 – Pietro
你可能更喜歡'BACKUP_DIR =「$ HOME/Documents/backups /」,它可以工作。 –