2013-05-13 30 views
0

我試圖從cygwin在Windows上運行.sh文件7運行cygwin的版本在Windows sh文件7

dumdb.sh文件內容

#!/bin/bash 
for database in $(mysql -e "show databases"|awk -F " " '{print $1}') do 
    mysqldump -u root -h localhost -p $database > $database.sql 
done 

在運行此命令

$ sh dumpdb.sh 

m得到跟隨誤差

bash: line 3: syntax error near unexpected token `mysqldump' 
bash: line 3: `mysqldump $database > $database.sql' 

我在哪裏做錯了?

回答

2

你缺少一個;do

#!/bin/bash 
for database in $(mysql -e "show databases"|awk -F " " '{print $1}') ; do 
    mysqldump $database > $database.sql 
done 
+0

謝謝,但現在m如果這個錯誤'dumpdb.sh:4號線:mysql的:命令不found' – Uttara 2013-05-13 11:20:20

+0

這聽起來像你沒有' mysql'安裝,或者至少它不能在你的'PATH'中找到。 – 2013-05-13 11:21:32

+0

是的thanx,我添加了mysql路徑,錯誤消失了,但shell腳本沒有按預期工作。這是對的嗎? (它將所有數據庫轉儲到單獨的文件中)。從[這裏]得到它(http://thecodecave.com/2010/12/11/how-to-dump-or-backup-all-mysql-databases-to-separate-files/)。 – Uttara 2013-05-13 11:30:53

相關問題