怎样编写Linux shell script(一)

 近来正在学习Linux shell script,主要是学习Linux Shell Scripting Tutorial (LSST) v1.05r3的几个章节,但因为是英文的所以这里把它翻译下,也是自己加深印象。好了直接进入主题。

1.How to write shell script ?

a.首先用任何的编译器(vi,vim,kwrite,....)编写一个shell script;

 

b.然后按照下面的方法给你编译的shell script添加可执行属性;

  chmod  添加(删除)属性  文件名称

例如:

  chmod  +x   your_script_name 或者

  chmod  755 your_script_name

例子中第二中方法中755表示对三个不同类别的使用者设置属性,这里首先大家要知道Linux中的除了可以用r,w,x表示可读,可写,可执行的属性外,还可以用一个数字代表一种属性,分别是r-4,w-2,x-1,也就是4就表示可读,2表示可写,1表示可执行;那么如何设置这些属性呢?如果我们用常规的方法是通过“+、-”符号来设置的,也就是"+r"表示给某个文件加上可读属性,"-r"表示给某个文件去除可读属性;

在用数字表示中是这样设定属性的,用数字设定属性更加的方便快捷,一次可以设定三个类别使用者的属性“文件拥有者”、“文件拥有者所在的组成员”、“其它使用者”,上面的例子中,7是给文件拥有者设定的属性,那"7"是什么意思呢?其实就是各个属性数字相加的结果,也就是如果你要设定此类使用者用可读4,可写2,可执行1,属性,那么就是4+2+1 = 7;聪明的你可能已经知道了文件拥有者所在地组成员的属性是 可读 可执行 即:4+1 = 5 ,其它使用者的属性也是 可读 可执行 即:4+1 = 5. 好了属性设定就不扯了,关键是要记住chmod命令。

 

c.编译好了脚本以后就是执行了

这里提供两种方法执行你的脚本:

  bash   your_script_name  #这里的“#”号中Linux shell script中是表示其后的内容为注释;bash 是我们系统中的shell类型这里就不扯远了

  ./your_script_name  #建议大家就直接用“./”接你的脚本名称执行,为什么不能像Windows一样直接输文件名执行呢?这个问题请自己找答案

 

好了,我们现在把上面的连贯做一遍;

首先建立一个脚本,我在这里使用vi编译器。

$ vi first

内容如下:

#
# My first shell script
#
clear
echo "Knowledge is Power"

保存退出;

然后添加可执行属性;

$ chmod 755 first

最后执行

$ ./first

你将会在屏幕上看到 "Knowledge is Power"。

第一课到这里就结束了,你学会了吗?

练习题:

1)编写如下的脚本内容,保存,然后执行记下它的输出。

$ vi ginfo
#
#
# Script to print user information who currently login , current date & time
#
clear
echo "Hello $USER"
echo "Today is /c ";date
echo "Number of user login : /c" ; who | wc -l
echo "Calendar"
cal
exit 0

你可能感兴趣的:(怎样编写Linux shell script(一))