Chinaunix首页 | 论坛 | 博客
  • 博客访问: 925477
  • 博文数量: 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入门的哥们有用.

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

chinaunix网友2009-07-03 16:38:44

说实话,bash、shell语言确实不怎么样

chinaunix网友2009-06-14 11:06:59

☆                    °∵☆       你满意目前的收入吗? 不改变 就永远不变 ~ ◆ 每日花2~4小时,为自己建立终身保障收入 ◆ 免费注册7天试用,深入瞭解这网路兼职工作 ◆ 影片说明请点~> www.longteng.ws   * ★   *★ *. *. * ★ ★ * * ★ . ★ .’ /◥█◣  /◥█◣ ‘*.. | 田|田│| 田|田| ╭☆平凡滴幸福,是最幸福滴了☆╮ ----------------------------------------------------------------- 谢谢您的阅览,如不感兴趣,抱歉打扰您了,请将此讯息删除! 祝您˙诸事顺心-愉快! ^_____^

chinaunix网友2009-06-12 21:18:08

>> 使用别人的东西,记得遵循别人定下来的规则;到了自己能定规则时,想怎么搞就怎么搞。他人不也得遵循你吗? SB. 人家的规则是有道理的。等你有水平定规则了,定出来的说不定和它一样。lz的问题都很好理解,自己太浮躁没好好理解而已

BillStone2009-06-08 22:05:17

如果你学过COBOL语言的话,就不会说bash诡异了

chinaunix网友2009-06-08 17:27:01

LZ 在唾沫中被淹死掉了。。。