shell - 如何捕获从 mysqldump 返回的错误并使用它在 shell 脚本中执行另一个操作?

标签 shell mysql

我在 shell 脚本中使用 mysqldump 将多个架构从生产环境转储到本地环境。

schemas = (one two three)
read -p "Enter Username: " un   
read -s -p "Enter Password: " pw
for schema in "${schemas[@]}"
do
  :
  mysqldump -h SERV -u $un --password=$p > /dev/null 2>&1 | mysql -uroot LOCAL
done    

我将错误重定向到/dev/null 以防止出现警告和错误消息,但我希望能够捕获错误并根据输出执行其他操作(例如访问被拒绝、未找到)。

如何捕获从 mysqldump 返回的错误并使用它在 shell 脚本中执行其他操作?

就其值(value)而言,在 mysqldump 完成后,$? 变量似乎总是 0,即使 STDERR 被拒绝访问。

最佳答案

关于shell - 如何捕获从 mysqldump 返回的错误并使用它在 shell 脚本中执行另一个操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622890/

相关文章:

linux - 如何在一个命令中编辑 $PATH 变量中的一个条目内的脚本

php - 在具有变量的类中查询

php - HIghCharts PHP MySQL

php - 检索查询中的相似项目

bash - 删除行尾并且没有新段落

python - 使用 python 中的 ruby​​ gem/命令

mysql - 如何找到查询中第一次出现的值的行号?

mysql - 按关键字搜索 mySQL

windows - 无法在 Windows Docker 容器中运行 cygwin

linux - 带有 put *.* 的 ftp 命令不发送所有文件