0

我在 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 脚本中执行另一个操作?

对于它的价值,该$?变量似乎总是0在 mysqldump 完成之后,即使 STDERR 被拒绝访问。

4

1 回答 1

1

我做了更多的研究,并在这里找到了答案:

http://scratching.psybermonkey.net/2011/01/bash-how-to-check-exit-status-of-pipe.html

于 2013-09-04T20:22:53.347 回答