为什么mysql“source”命令返回错误的退出代码?有没有办法让它失败?
(请注意,我故意在这里尝试返回错误)
没有来源:
$ mysql -e "use mydatabase; select asdf from mytable;"
ERROR 1054 (42S22) at line 1: Unknown column 'asdf' in 'field list'
$ echo $?
1
使用“source”(file.sql包含“select ...”请求)
$ mysql -e "use mydatabase; source /absolute/path/to/file.sql"
ERROR 1054 (42S22) at line 1 in file: '/absolute/path/to/file.sql': Unknown column 'asdf' in 'field list
$ echo $?
0
答案 0 :(得分:0)
source
命令的退出状态似乎反映了它是否能够读取文件,而不是其中的查询是否成功。
barmar@dev:~$ mysql -e 'source /nonexistent/file'
ERROR at line 1: Failed to open file '/nonexistent/file', error: 2
barmar@dev:~$ echo $?
1