shell - 语法错误 : "(" unexpected on shell script

标签 shell centos ubuntu-12.04

我收到 7: Syntax error: "(" unexpected在 Ubuntu 上运行以下代码时出错。但是它在centos上运行没有任何问题。

#!/bin/sh
#
TODATE=`date '+%Y-%b-%d'`
#
# Backup Creation for Databases
#
databases=(`echo 'show databases;' | mysql -u root -ppaSSword | grep -v ^Database$`)
for DB in "${databases[@]}"; do
mysqldump --force --opt --user=root --password=paSSword $DB | gzip > /mnt/Backup/DB/${DB}_${TODATE}.sql.gz
done
#

请帮我解决这个问题。

我想不出问题。但,

我正在使用波纹管代码进行备份。它在 Ubuntu 上运行良好
#!/bin/bash
#
TODATE=`date '+%Y-%b-%d'`
databases="$(mysql -u root -ppaSSword -Bse 'show databases')"
for DB in $databases
do
mysqldump -u root -psqlMYadmin $DB | gzip > /mnt/Backup/DB/${DB}_${TODATE}.sql.gz
done

最佳答案

您可以将“显示数据库”输出重定向到 dump.txt 文件,如果完成然后尝试。

 #!/bin/bash
 da=$(date +"%d-%m-%y")
 for db in `cat dump.txt` ; do mysqldump --force --opt --user=root --password=paSSword $db | gzip /path/to/backup/$db_"$da".sql.gz ; done

关于shell - 语法错误 : "(" unexpected on shell script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783525/

相关文章:

Scala 2.9 无法在 Ubuntu 12.04 上运行 HelloWorld

linux - Unix Diff 命令比较 2 个 txt 文件之间的差异并生成更多命令

ubuntu - AWS EC2 (RHEL) 上的 Docker 安装不工作

bash - 我只想检查在 linux bash 的命令输出中列出的服务器上的网络接口(interface)状态

git - Jenkins - 未加载 git 全局配置

apache - 无法在 apache2 中启用 .htaccess

ruby - Ruby 能否访问出现的 shell 命令的输出?

linux - 更改目录在 shell 脚本中不起作用

shell - 数据驱动的 shell 编程?请提出建议

linux - 网络重启后 Openswan 隧道不工作