Shell初学习

转:http://www.cnblogs.com/cat-fang/archive/2011/03/31/2001037.html

Shell的作用 

       Shell 是一种特殊的程序,被用作用户与内核(kernel)的UNIX操作系统核心通讯。shell脚本可以进行机器的自动化管理、追踪和管理系统重要工作、简单的入侵检测、命令执行一体化及简单的数据处理等,帮助系统管理员快速的管理机器。

Shell 的主要功能有:

    1、解释交互运行时,在命令行提示下敲入的命令。

    2、指定用户环境,通常在Shell初始化文件中作这种工作。

    3、Shell可以用作解释编程语言,Shell程序也叫做命令表,由在文件中列出的命令组成。

Shell的种类

*     Bash:

    Bourne Again shell,Linux使用最广,最强大的shell。符合POSIX,兼容Bourne shell,由GNU project (Free Software Foundation)创建发行。

    功能:命令行编辑,命令历史,,自动完成,兼容Bourne shell。

*     csh

Berkeley开发,在交互式应用方面兼容Bourne shell,但是编程接口不同。没有命令行编辑功能。命令历史功能强。Linux中,csh是更新的tcsh的代称。

*     ksh

Unix系统中最通用的shell。第一个引入现代shell技巧的shell。兼容Bourne shell,有命令行编辑功能。

*     sh

Bourne shell,最原始的shell,没有命令行编辑功能。个人觉得linux多数已经成了bash的代称。

*     tcsh

增强的csh,有命令行编辑功能。

*     zsh

最新的shell,兼容Bourne shell,命令行编辑功能。自动完成功能强大。

主要的Shell命令

who   mv  rm  wc  ls  cat  date  at  lpr  rsh  more  awk  pwd  bc  vi  finger  w  pg  find  cc  cp  dd  grep  ksh  sh  ps  sed  cal  lp

建立第一个简单的测试文件test.sh

ubuntu环境下在自己要创建文件的目录里建立一个test.sh文件,文件里写上一段代码,代码如下:

1
2
3
4
5
#!/bin/sh
a="hello world"
echo "A is: ${a} avalaible"
read a
echo $a

然后保存,第一个shell例子就完成了,下面解析以下代码的意思:

#!/bin/sh   是shell语言的头,shell语言是以它为开始的

a="hello world"  给变量a初始化一个字符串"hello world"

echo "A is: ${a} avalaible"  打印出变量a,${a}是取变量a的值,相当于c语言中printf("A is: %s avalaible",&a);

read a  从键盘获取变量的值

echo $a  打印出a的值

打开命令行终端,进入该文件所在的目录,输入运行该文件的命令:./test.sh

运行结果如下:

A is: hello world avalaible

hello

hello

shell语言是轻量级的脚本语言,但它的用法很灵活,还需要慢慢学习啊,shell的用处还是很多的,linux环境下的好多软件里都有.sh文件,因此了解熟悉shell语言还是很有必要的。

相关推荐