博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小小空格,大意不得
阅读量:5902 次
发布时间:2019-06-19

本文共 1137 字,大约阅读时间需要 3 分钟。

在计算机业者里面,通常对空格不是很重视,因为在一般的程序语言里面,大都会有这么一个概念,一个空格与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,如需转载请自行联系原作者

你可能感兴趣的文章
【腾讯Bugly干货分享】Android内存优化总结&实践
查看>>
CentOS 6.3下配置软RAID(Software RAID)
查看>>
vue - 官方 - 上手
查看>>
Springboot 之 引入Thymeleaf
查看>>
Java基础-位运算符Bitwise Operators
查看>>
swift where 的作用
查看>>
IOS开发-使用Storyboard进行界面跳转及传值
查看>>
Linux常用基本命令( rmdir, rm, mv )
查看>>
python 排列组合
查看>>
小程序WXML基本使用
查看>>
python 取整的两种方法
查看>>
POJ2406 Power Strings(KMP)
查看>>
JavaScript 命名空间
查看>>
[uEnv.txt]在uEnv.txt文件中使用if语句实现Image/dtb文件切换
查看>>
从领先到引领,浪潮凭借的是技术自信
查看>>
月薪1.5W以下的数据分析师·面试流程(附赠考题)
查看>>
心心念念iPhone SE2来了 我已想好买它的3个理由
查看>>
再迎利好,BCH开发团队BU融合石墨烯区块传播技术
查看>>
么么直播的音视频技术实践和优化
查看>>
关于Android Studio UnsatisfiedLinkError错误的解决办法
查看>>