bash - 为变量中的每个参数重复命令

标签 bash shell backup

#!/bin/sh
dblist=mail ftp www
for arg in $dblist; do
mysqldump -u dumper --password=$dbpass --socket $socket --database $dblist >> /tmp/backup/$dblist.sql
done

每个来自变量 dblist 的数据库都应该写一个新的 mysqldump 行并将数据库名称添加到相应的字段中,这是如何实现的?

最佳答案

使用变量 arg(即您的数据库名称)为每个数据库创建一个单独的 sql 转储文件,如下所示:

#!/bin/sh
declare -a dblist=(mail ftp www)
for arg in "${dblist[@]}"
do
   mysqldump -u dumper --password=$dbpass --socket $socket --database $arg >> /tmp/backup/$arg.sql
done

关于bash - 为变量中的每个参数重复命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087488/

相关文章:

c - 关于子进程中的 SIGINT

shell - 用另一个文件中指定的值替换字段

linux - duplicity --exclude 选项不排除提到的目录

Linux Shell 脚本 : backup and restore files while maintaining directory location

bash - 如何在文件中固定数量的字符后插入换行符

linux - 如何检查Linux shell命令是否是只读的?

linux - 在 Windows 上的 Ubuntu 上从 Bash 打开 Sublime Text

sql-server - Azure SQL 数据库最快的备份/恢复策略?

bash - 拆分 SSL 证书时出现错误 "awk: too many output files 10"

regex - Bash - killall -r 不匹配