shell脚本学习笔记一

来源:互联网 发布:多方通话软件 编辑:程序博客网 时间:2024/04/30 14:54

       Unix原为贝尔实验室的计算机科学家所开发的产品,由于没有盈利上的压力,再加上PDP-11小型计算机的能力有限,因而程序都以小型、优雅为主,也因为没有盈利上的压力,系统之间并非完全一致,学习上也不太容易。

     shell最常用于系统的管理工作,或是用于结合现有的程序以完成小型的、特定的工作。许多中、大型的程序都是用编译型语言写成的例如:Fortran、Ada、C、C++或者Java,这类程序只要从源代码转换成目标代码便可以直接通过计算机来执行了。优点是:高效;缺点是:多半运行于底层,所处理的是字节、整数、浮点数或是其他机器层次级的对象。像C++就很难完成将一个文件复制到另一个文件夹的操作。脚本语言通常是解释型的,这类程序的执行是由解释器读入程序代码,并将其转换成内部的形式,当然,解释器本身就是一般的编译型程序。

        使用shell的好处是:它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象。缺点是:它们的效率通常不如编译型语言。

       之所以使用shell脚本是基于它的:简单性、可移植性、开发容易

      使用shell首先要理解管道的概念,在shell中”|“表示的是管道的意思,例如我们想查看系统所有的登陆用户,可以使用who命令,但是如果要计数的话就需要用到管道命令:who | wc,这样就可以得到系统用户的统计列表,在这里:who命令的输出成了wc(计数命令)的输入,如果不想看到详细信息,只想知道有多少个用户的话只需要在刚才的命令上加一个参数就行:who | wc -l。当然也可以将这一条命令存在一个脚本文件中,如us,则可以在shell终端输入./us执行就可以得到相同的结果了,很方便。

     当系统只有一个shell时退回/bin/sh很快捷,但是现在的Lunix一般都会内置多个shell,当然最出色的广泛被接受的还是bash,这样退回的时候就需要高速内核那个shell来执行给定的命令。可通过在首行加上#!,这样内核会扫描这一行剩余的部分,看是否存在可用拉执行程序的解释器的完整路径,第一行为:

    #!  /bin/csh

  或者#! /bin/awk

  或者#! /bin/sh

    shell最基本的工作就是执行命令,互动的使用方式。shell可以识别三种基本命令:内建命令、shell函数、外部命令。

0 0
原创粉丝点击