SFD2008 in GuiZhou University Eddan

Saturday Mar 21, 2009

     Shell程序的一个常见用法是汇集常用的命令串。

     一、执行脚本

     建立文件后,下一步就要使它“可执行”,即要为文件设置读和执行的访问权限,这样Shell就可以运行它。

     将proof文件设置为所有用户都具有可读和可执行的权限,可以使用chmod命令:$ chmod +rx proof

    输入可执行文件的文件名即可执行命令。若脚本在当前目录下,可输入:$ ./proof

     若脚本是在PATH指定的某个目录中,可以输入:$proof

     二、执行脚本的一些方法

      #!/bin/sh      使用/bin/sh运行该脚本;

      #!/bin/bash  使脚本在bash下运行

      #!/usr/bin/perl  Perl脚本

      #!/usr/bin/python Python脚本

      三、显示调用Shell

       $ sh scriptname 显示启动子Shell来运行脚本

      四、在当前Shell中运行脚本

       若.profile是可执行的,可以输入:$ ~/.profile

       若不是可执行,可输入:$ ksh ~/.profile

       改变当前的运行环境,可输入:$.~/.profile      “.”命令是一个Shell命令,它取文件名作为其参数并使当前的Shell读取和执行文件中的命令。

       五、变量处理

       MESSAGE="Hello,world"

       echo $MESSAGE                      echo命令将其参数打印到标准输出。

       使用Shell环境变量

       $ cat dev-config

       DEVPATH=/usr/project2.0/bin:/usr/project2.0/tools/bin:$HOME/dev/project2.0

       export DEVPATH

       cd $HOME/dev/project2.0

       该脚本中使用了Shell环境变量的值$HOME,还设置一个新变量DEVPATH

       六、变量扩展

       变量名组合

       将变量OLDFILExxx的值赋值给NEWFILE:NEWFILE=$OLDFILExxx

       变量OLDFILExxx不存在,这时NEWFILE将为空,改为:NEWFILE=${OLDFILE}xxx

       提供默认值

        ${VARIABLE:-default}   若已经定义了VARIABLE,将使用其值;如果未定义就使用default字符串。

        ${VARIABLE:?message} 若VARIABLE未设置,就打印message并退出。

        七、Shell程序的特殊变量

         $NAME 变量的值             $$当前的进程号

         !存放当前最后一个启动的后台进程的进程ID

         PWD存放当前的工作目录名

         OLDPWD存放先前的工作目录名

         LINENO存放脚本中的当前行号

         RANDOM存放一个随机整数,它取自介于0到32767之间的均匀发布的随机数。

         八、数组和列表

        FILE[0]=new    FILE[1]=temp   FILE[2]=$BACKUP

        echo ${FILE[2]} 打印一个元素

        NUMBERS={1 2 3 4 5}

        echo ${NUMBERS[*]}

        九、字符串处理

        $ FILENAME="firefly.sh"

        $ echo ${#FILENAME}

        10

        简摘自:《UNIX完全手册(第二版)》 Kenneth Rosen  , James Farber,Douglas Host,Rachel Klee,Richard Rosinski著  刑国庆,黄辰,刘琦 译

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed