小小空格,大意不得

简介:
在计算机业者里面,通常对空格不是很重视,因为在一般的程序语言里面,大都会有这么一个概念,一个空格与N个空格没啥区别,于是通常为了排版漂亮,方便阅读会人为的增减空格,也没有太在意.但是,千万千万,如果空格出现在了不该出现的地方,那也是相当头疼的.

这里举两个例子
在写shell脚本的时候,有时命令会相当长,这个时候我们通常会用反斜杠\来把命令续写到下一行.今天就碰到一个奇怪的事情,执行一个数据库备份的命令的时候,报错了
命令如下:

/usr/bin/mysqldump -h localhost --opt -u root -pxxx \  
 xyz_abc  \
--ignore-table=xyz_abc.a1  \
--ignore-table=xyz_abc.a1_ac_ne  \
--ignore-table=xyz_abc.a1_aptne  \
--ignore-table=xyz_abc.a1_gatys  \
--ignore-table=xyz_abc.a1_m_c  \
--ignore-table=xyz_abc.a1_rle \
--ignore-table=xyz_abc.a1_ts  \
--ignore-table=xyz_abc.td  \
--ignore-table=xyz_abc.tc  \
--ignore-table=xyz_abc.t1_mt  \
--ignore-table=xyz_abc.tc_mt  \
--ignore-table=xyz_abc.xd  \
--ignore-table=xyz_abc.xi  \
--ignore-table=xyz_abc.x_db  \
> /data_backup/xyz_abc.sql

写起来都很顺,复制到shell里面运行的时候报错了..
shell把它当做了两条命令来执行..找了半天才发现问题

每行\的后面必须立刻回车,不能有空格,否则shell就认为这个命令结束了..... 
实在是难发现啊~


还有一次是执行一个创建数据库的命令,命令十分简单
CREATE DATABASE `test ` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
报错显示 
ERROR 1102 (42000): Incorrect database name 'test '
这个十分明显,是test后面多了个空格...

这篇文章内容着实太基础了,旨在提醒读者与自己,对空格这个东东,咱还真不能马虎!



本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/81705,如需转载请自行联系原作者

相关文章
|
4月前
|
算法
算法编程(二十八):重新排列单词间的空格
算法编程(二十八):重新排列单词间的空格
35 0
|
5月前
|
数据采集 Java 机器人
根据正则表达式截取字串符,这个办法打败99%程序员
作为一名程序员,常常会在以下情况下使用函数功能根据正则表达式截取字符串:
|
3月前
|
缓存
牛客网刷题总结(如何清除缓存区,字母大小写替换的两种方法,一元二次方程解的输出)
牛客网刷题总结(如何清除缓存区,字母大小写替换的两种方法,一元二次方程解的输出)
20 0
|
9月前
|
Cloud Native
【刷题日记】316. 去除重复字母
本次刷题日记的第 42 篇,力扣题为:316. 去除重复字母 ,中等
|
8月前
|
机器学习/深度学习 C++
蓝桥 去注释 (字符处理)
蓝桥 去注释 (字符处理)
|
11月前
|
存储 编译器 C语言
开心档之C++ 字符串
开心档之C++ 字符串
#yyds干货盘点# 第三十五题-字符串字符统计
#yyds干货盘点# 第三十五题-字符串字符统计
74 0
#yyds干货盘点# 第三十五题-字符串字符统计
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
55 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
|
算法 安全
每日算法刷题Day7-比较字符串大小,去掉多余的空格,单词替换
⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。
214 0
每日算法刷题Day7-比较字符串大小,去掉多余的空格,单词替换
AcWing 766. 去掉多余的空格
AcWing 766. 去掉多余的空格
56 0
AcWing 766. 去掉多余的空格