Chinaunix首页 | 论坛 | 博客
  • 博客访问: 925713
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类: LINUX

2009-05-31 15:48:50

学了那么多语言,没见过这么垃圾的语法.
这就是linux下的脚本语言--bash.

一个脚本语言, 语法这么苛刻, 让人抓狂.
举例如下:
1:
定义变量时, =号的两边不可以留空格.
eg:
gender=femal------------right
gender =femal-----------wrong
gender= femal-----------wrong
2
条件测试语句 [ 符号的两边都要留空格.
eg:
if [ $gender = femal ]; then-------right.
     echo "you are femal";
fi

if[ $gender...-----------------------wrong
if [$gender...----------------------wrong.

3
条件测试的内容,如果是字符串比较的话, 比较符号两边要留空格!
eg:
if [ $gender = femal ]; then-------right.
if [ $gender= femal ]; then--------wrong.
if [ $gender=femal ]; then---------wrong.

4
如果if 和 then写在同一行, 那么,注意, then的前面要跟上 ; 号.
如果 then 换行写, 那么也没问题.
eg:
if [ $gender = femal ]; then-------right.
if [ $gender = femal ]
     then-------------------------------right.
if [ $gender = femal ] then-------wrong. then前面少了 ; 号.
提示出错信息:
syntax error near unexpected token then
同理,还有很多出错信息 比如
syntax error near unexpected token fi 等都是这样引起的.

5
if 后面一定要跟上 then. 同理
elif 后面一定要跟上 then.
不然提示出错信息:
syntax error near unexpected token else

明明从书上抄下来的程序,死活执行不过去, 气死人了. 更气人的时, 净没有一本书提示 [ 符号的两边要留空格. 呜呼哀哉.以上是我的总结,希望对bash入门的哥们有用.

阅读(2192) | 评论(14) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-06-05 21:02:22

条件测试语句 [ 符号的两边都要留空格. eg: if [ $gender = femal ]; then-------right. echo "you are femal"; fi lz你以为if [ $gender = femal ]; 这是判断么,这是赋值好不好

chinaunix网友2009-06-04 17:22:34

每种语言都有自己的语法。

chinaunix网友2009-06-04 13:55:07

好服月租型IT服务台,与你共成长! 月租型ITSM软件,注册即可免费体验! 详情请登录官方网站:http://www.servicezon.com

chen.chun.qiang2009-06-03 20:20:53

使用别人的东西,记得遵循别人定下来的规则;到了自己能定规则时,想怎么搞就怎么搞。他人不也得遵循你吗?

chinaunix网友2009-06-02 18:26:45

条件测试语句 [ 符号的两边都要留空格. eg: if [ $gender = femal ]; then-------right. echo "you are femal"; fi 那是因为 [ 是一个程序:/bin/[ 就是/bin/test 后边的东西是作为一个参数 ---------- 啊刚看到楼上的已经帖过了。呵呵,就写到这里吧 --lbaby