Mysql“source”命令:错误的退出代码?

时间:2015-07-30 16:05:49

标签: mysql linux

为什么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

1 个答案:

答案 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