shell编程入门

Posted the-eassy-of-mindon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程入门相关的知识,希望对你有一定的参考价值。

shell编程入门


变量类型:

  环境变量:

    作用域为当前shell以及其子shell

    创建:export VarName

  本地变量

    作用域:为整个bash进程,进程结束该变量就被撤销了

    创建: VarName=Value

  局部变量:

    作用域:只能是某个函数,也只能在函数中使用

  位置变量:用来引用函数的参数

    例如:./file.sh /etc/fatab /etc/initab

        $1:/etc/fstab

        $2:/etc/initab

        $n:..

        shift:第一个位置变量被删除,后面的位置变量一次进1、

        shift n:一次删除n个位置变量,后面的位置变量依次进你n

  特殊变量:

    $?:返回上一个命令的执行状态返回值

    $#:表示位置参数的个数

    $*:位置参数列表

    [email protected]:位置参数列表

    

    程序执行状态有两种返回值

      一个是0:表示执行成功

      一个是(1-255,其中1,2,127系统留用)表示执行错误

  脚本在执行时会启动一个子shell进程:

    命令行中启动的脚本会继承当前shell环境变量

    系统自动执行的脚本(非命令行启动)就需要自我定义需要的各环境环境变量

脚本基础:

  第1行为shebang----->指定解释器比如:/bin/bash

  脚本执行的几种方法:

    1、给予该脚本一个执行权限,然后输入文件的路径就可以执行

    2、将该脚本所在的路径写入全局变量PATH中去,直接输入该脚本的名称即可执行


bash中的条件判断:

  1、整数测试

  2、字符测试

  3、文件测试

条件测试的表达式‘

  [ expression ]

  [[ expression ]]

  test expresssion

整数比较:

  -eq :测试两个整数是否相等

  -ne:测试两个整数是否不相等

  -gt:测试一个整数是否大于另一个整数

  -lt:测试一个整数是否小于另一个整数

  -ge:大于或等于

  le:小于等于

命令间逻辑关系(短路原则):

  $$:逻辑与

  ||:逻辑非


条件语句:

  1

  if [] ; then

  statement1

  statement2

  ..........

  fi

  2

  if []

  then

    statement1

    statement2

    ..........

  fi

  3

   if  [] ;then

     elif [] ;then

     elif [] ;then

      ......

   else

  fi

文件测试:

  -e FILE--->测试文件是否存在

  -f FILE--->测试文件是否是普通文件

  -d FILE----->指定路径是否为目录

  -r FILE------>测试当前用户对指定文件是否具有读权限

  -w FILE----->测试当前用户对指定文件是否具有写权限

  -x FILE------>测试当前用户对指定文件是否具有执行权限

定义脚本的退出状态码:

  exit:退出脚本

  如果脚本没有明确定义退出状态吗,那么,最后执行的一条命令的退出状态吗为脚本的退出码

测试脚本是否有错误:

  bash -n 脚本名称--->错误信息不一定可靠

  bash -x 脚本名称--->单步执行

 

  

  

  

 

  

以上是关于shell编程入门的主要内容,如果未能解决你的问题,请参考以下文章

shell编程入门

shell编程入门

Shell 编程基础 --语法快速入门

shell编程快速入门

sehll编程入门

Shell编程入门