红联Linux门户
Linux帮助

关于bash编程的菜鸟问题

发布时间:2009-05-18 15:44:00来源:红联作者:terryawon
刚刚接触shell编程,尝试写了这样一个程序:

#! /bin/bash
# echo output
a=2.8665
b=10

echo $a
echo $b
echo $[a*b]

显示结果:
2.8665
10
./a.sh: line 11: 2.8665: syntax error in expression (error token is ".8665")

好像是在说无法识别小数点。。。

求助于大侠们,到底哪里出错了,还是要用别的语句呢?
谢谢
文章评论

共有 6 条评论

  1. terryawon 于 2009-05-18 17:06:26发表:

    嗯。。。谢谢大侠

  2. wang7131984 于 2009-05-18 17:02:18发表:

    shell大概看看就行了,有那些组成部分,大概的框架。用的时候再去学吧。这种东西你编的再好也没人给你money,关键是自己用。如果发现有某项事很麻烦,或则需要大量的重复,那编个脚本就必要了。LINUX里满地都是shell,去/usr目录下看看,去/etc目录下去看看。脚本多的去了

  3. terryawon 于 2009-05-18 16:50:33发表:

    哦。。。明白了。。。
    Kiss准则。。。
    敢问大侠学习shell编程有多长时间了呢?
    我现在很有一股冲劲,想学好shell,就是不知道怎么下手。如果说光记那些指令的话,没有多大意义,过后就可能忘记。所以,我个人认为是不是应该用一个小的project来训练一下。大侠曾做过类似的project吗?可否分享一点经验。。。
    谢谢大侠啦。。。:0wmjh(1

  4. wang7131984 于 2009-05-18 16:21:27发表:

    shell有内建的指令(builtin),控制流程,还有各种外部的实用程序(gawk,sed,...已经各种被成为命令的程序)。系统管理员不是程序员,如果shell设计的过于复杂很显然不利于系统的使用了。shell是一个粘合剂,你可以使用shell把各个独立的工具粘合在一起,组成一个新的工具。这也是为什么LINUX/UNIX如此灵活,因为它们重来没有想过去为你提供一个固定的解决方案而是提供一系列强大的工具,然后你自己来组织它们完成想要的工作。UNIX的设计哲学就是只干一件事,并且干好它。另外还有KISS准则,KEEP IT SIMPLE & STUPID。想想如果一个你每干一件事都需要一个软件来支持,那需要多少个软件....而且软件之间的功能还有重复,各个软件之间不能通信,不能复用。如此一来多少磁盘空间也只能用来放软件了。虽然磁盘现在很便宜,但是如果能腾出磁盘来多放两个X片,不必多放几个垃圾软件有意义么。

  5. terryawon 于 2009-05-18 16:05:37发表:

    哦。。 谢谢大侠。。。
    shell主要用来干什么的呢?只是执行一些指令吗?

  6. wang7131984 于 2009-05-18 15:57:59发表:

    貌似shell不支持小数运算。实际上也没必要支持,shell大部分时候都在跟字符串打交道。如果要使用浮点数运算使用其他脚本语言.perl,ruby,python甚至是php cli。shell不是一门完整的编程语言,它只是一个辅助的工具,不要拿它来做一些可以其他语言来完成的工作。