小小空格,大意不得
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yahoon.blog.51cto.com/13184/81705 |
在计算机业者里面,通常对空格不是很重视,因为在一般的程序语言里面,大都会有这么一个概念,一个空格与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后面多了个空格... 这篇文章内容着实太基础了,旨在提醒读者与自己,对空格这个东东,咱还真不能马虎! 看完此文之后请您点击下面这篇文章并留言,在此先谢过. http://yahoon.blog.51cto.com/13184/80162 本文出自 “yahoon的小屋” 博客,请务必保留此出处http://yahoon.blog.51cto.com/13184/81705 本文出自 51CTO.COM技术博客 |



yahoon
博客统计信息
热门文章
最新评论
友情链接
