由于在Ubuntu中shell脚本用的是bash,所以我只研究它,毕竟精比广实惠,而且我个人认为其他shell本质上应该是相通的。
/*
**
*/
首先要记住每个脚本的开头都要使用
#! /bin/sh
其中#!用来告诉系统可以执行该脚本的程序,具体可以在终端输入man magic来获得更多的信息;接下来的/bin/sh是一个路径,该路径名指定了一个解释脚本命令的程序,我用的是bash,故为#! /bin/sh。但必须要记住#!后面必须有一个空格。
另要注意,我们在写shell脚本应和和其他程序一样在适当的位置添上合理的注释,其作用不用我说拉,由于在shell中我们用#作注释,由于我们在写脚本的时,首先是写#! /bin/sh,此时不要误认为该句是一句注释语句,只有这句以后凡是出现#,那么该#所在行后面的语句都是注释。
/*
**
*/
该脚本编辑结束保存后,如果要执行该脚本,你可以使用sh scriptname或bash scriptname来调用它。但我们一般不采用这种方法,原因是它禁用了脚本从stdin中读取数据的功能[stdin具体是个什么,我也不是很清楚,相信以后不久会明白的]。更方便的方法是通过chmod命令使该脚本具有可执行的权限,比如:
chmod 555 scriptname(允许任何人都具有可读和执行的权限)
或:
chmod +rx scriptname(允许任何人都具有可读和执行的权限)
chmod u+rw scriptname(只给脚本的所有者具有可读和执行的权限)
脚本的权限具有可执行的权限后,我们可以使用./scriptname来测试它.
好了,我们来写个简单的脚本玩玩:
打开gedit编辑器,输入
#! /bin/sh
a="Hello lammy!"
echo "A is:" $a
后保存为test或test.sh(建议别带扩展名,省得麻烦)看下面就知道拉;
打开终端,利用cd命令进入该脚本所在的路径,然后
$ chmod 555 test /test.sh[注:如果你保存为什么,这里就输什么)
$ ./test /test.sh |