bash
2013-10-30 163 views 1 likes 
1

我想写,做以下简单的备份脚本:Bash脚本说找不到命令?

#!/bin/bash 
#backupScript 

mysqldump mysql -uxxxxx -pxxxxx Database1 Database2 | gzip > "MainWordPress.gz" 

time_stamp = `date +%Y%m%d.%H%M` 
file_name = 'backup-{$time_stamp}.tar.gz' 
sources = 'DIR/ MainWordPress.gz' 
tar -cvf file_name sources 

rm MainWordPress.gz 

cp file_name some/destination 

但问题是,它不喜欢:

./runBackup.sh: line 6: time_stamp: command not found 
./runBackup.sh: line 7: file_name: command not found 
./runBackup.sh: line 8: sources: command not found 
tar: sources: Cannot stat: No such file or directory 
tar: Exiting with failure status due to previous errors 

我深感困惑......

+0

应该的'tar -cvf FILE_NAME sources'也许是的'tar -cvf “$ FILE_NAME” $ sources'? (类似于'cp'。)'$ time_stamp'不会在''backup - {$ time_stamp} .tar.gz''(单引号)中展开。 Bash/shell脚本教程的时间? – Biffen

回答

6

删除等号周围的空间:

#!/bin/bash 
#backupScript 

mysqldump mysql -uxxxxx -pxxxxx Database1 Database2 | gzip > "MainWordPress.gz" 

time_stamp=$(date +%Y%m%d.%H%M) 
file_name="backup-${time_stamp}.tar.gz" 
sources='DIR/MainWordPress.gz' 
tar -cvf file_name sources 

rm MainWordPress.gz 

cp file_name some/destination 
+0

你更快^^ – Asenar

+0

嘿嘿......我!也为你+1。 – opalenzuela

1

删除空间wetween变量和=

#!/bin/bash 
#backupScript 

mysqldump mysql -uxxxxx -pxxxxx Database1 Database2 | gzip > "MainWordPress.gz" 

time_stamp=`date +%Y%m%d.%H%M` 
file_name='backup-{$time_stamp}.tar.gz' 
sources='DIR/ MainWordPress.gz' 
tar -cvf file_name sources 

rm MainWordPress.gz 

cp file_name some/destination 
相关问题