为什么MySQL打印“\.”代替 ”\。”在命令行上?

问题描述 投票:0回答:1

我只想选择反斜杠句点“(\.)”。

当我运行时在 MySQL 客户端中

mysql> select '\\.';
+----+
| \. |
+----+

这就是我想要的结果,但是当我创建文件名reverse.sql时包含与以下相同的查询

cat reverse.sql
select '\\';

当我通过以下方式运行此查询时,我得到:

mysql -h mysqlhost -u admin -p -N mydatabase < reverse.sql

\\.

我得到的是

\.
,而不是
\\.

因为反斜杠句号是特殊字符,我猜 bash 阻碍了我,但是有什么方法可以解决这个问题并获得“\”。而不是“\.”?

MySQL 版本 8.0.37

谢谢!

mysql bash command-line
1个回答
2
投票
% mysql -N < reverse.sql      
\\.

% mysql --raw -N < reverse.sql
\.

参见。 https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_raw

对于非表格输出(例如以批处理模式生成或给出

--batch
--silent
选项时),特殊字符在输出中进行转义,以便可以轻松识别。换行符、制表符、NUL 和反斜杠分别写为
\n
\t
\0
\\
--raw
选项禁用此字符转义。

© www.soinside.com 2019 - 2024. All rights reserved.