linux学习笔记之shell(1)

一、shell是什么?

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。

 二、shell的运行环境及编写工具

 shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了
Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种 就足够了。在本文中,我们关注的重点是Bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用;同时,Bash也是大多数Linux系统默认的Shell。在一般情况下,人们并不区分 Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我们可以看到#!/bin/sh,它同样也可以改为#!/bin/bash。

 三、shell脚本的基本语法

写道
利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:
#!/bin/sh
#comments
Your commands go here
首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程 序。如果首行没有这句话,在执行脚本文件的时候,将会出现错误。后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。除第 一行外,以#开头的行就是注释行,直到此行的结束。如果一行未完成,可以在行尾加上",这个符号表明下一行与此行会合并为同一行。
编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个Bash脚本文件。
执行脚本要先将脚本文件的属性改为可执行的:
chmod +x filename.sh
常见执行脚本的方法是:
1) 作为可执行程序
./filename.sh
注意,一定要写成 ./filename.sh,而不是 filename.sh,运行其它二进制的程序也一样,直接写filename.sh,linux 系统会去 PATH 里寻找有没有叫filename.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成filename.sh 是会找不到命令的,要用 ./filename.sh 告诉系统说,就在当前目录找。
2) 作为解释器参数
/bin/sh filename.sh

 四、第一个helloworld.sh

#!/bin/bash
echo 'hello world'
[imix@localhost shell]$ chmod +x helloworld.sh
[imix@localhost shell]$ ./helloworld.sh
hello world
[imix@localhost shell]$ /bin/sh helloworld.sh
hello world

猜你喜欢

转载自lintaozhou.iteye.com/blog/2392727