Shell 脚本学习小结-1

来源:互联网 发布:php教学 编辑:程序博客网 时间:2024/05/20 18:16
  1. Shell 介绍
    Shell 就是一个UNIX命令行解释器,当用户输入命令并按回车键时,shell会解释命令并执行相应操作。这种方式称为交互式。
    shell也可以当做高级编程语言来使用,这时,不需要在shell提示符后一次输入一个命令,而是将多个命令存入一个文件中,然后让shell一次性执行文件中的所有命令。这种执行命令的方式称为批处理(Batch)。
    shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支。但Shell脚本是解释执行的,不需 要编译。作为程序设计语言,它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

  2. Shell 脚本的运行
    假定有一shell脚本文件,commands.sh, 有三种运行脚本的方式:
    (1)通过重定向操作符(<)
    sh < commands.sh
    通知shell从文件commands.sh中读取命令
    (2) 可以输入如下命令来运行: sh commands.sh
    (3) 首先使shell脚本文件成为可执行文件
    chmod +x commands.sh
    ./commands.sh

  3. 子shell
    在shell脚本运行的时候,用户登录shell实际上是调用另外一个shell进程来运行该脚本, 例如,用户登录shell可以是ksh、csh、tcsh或bash,但都可以使用sh运行用户的shell脚本。
    因此,为了确保无论采用何种登录shell都可以使用sh运行脚本,则需要在每个shell脚本文件中加入:

 #!/bin/sh       它表示该脚本使用后面的解释器解释执行。
  1. Shell 变量
    (1)用户自定义变量

    1. shell变量不需要进行任何声明,直接定义即可,因为shell只处理字符串(对于没有定义的变量默认是一个空串)。定义的时候shell变量由大写字母加下划线组成,并且定义的时候等号两边不能存在空格,否则会被认为是命令!
    2. 引用shell变量要用到$符号,加{}可以防止歧义。

    (2)位置参数:shell用于储存命令行参数的变量(*)
    例如:假定一脚本文件echo.args

 #!/bin/sh       它表示该脚本使用后面的解释器解释执行。 #illustrate the use of positional parameters echo $0 $1 $2 $3

假定用户输入如下命令执行该脚本:

./echo.args We like Unix

shell 将把命令名“echo.args”存储在参数$0中,将“We”存储在参数$1中,“like”存储在参数$2中,“Unix”存储在参数$3中。

原创粉丝点击