(一) shell 脚本

脚本格式:

  vim shell.sh
      #!/bin/bash     //声明脚本解释器,这个‘#’号不是注释,其余是注释
      #Program:        //程序内容说明
      #History:        //时间和作者
      

shell脚本执行

	sh    script.sh
	chmod +x script.sh
    ./script.sh 

(二) shell 变量

特殊变量:$n

  1. 基本语法
    $n(功能描述:n为数字,$0代表脚本名称,$1-9代表第一到第九个参数,
    十以上成的参数需要用大括号包含,如{10})
  2. 例如
    输出该脚本的名称、输入参数1和参数2的值
    shell学习笔记

特殊变量: $#

  1. 基本语法
    $# (功能描述:获取所有输入参数个数,常用于循环).
  2. 例如
    获取输入参数的个数
    shell学习笔记

特殊变量 :$ *、$ @

  1. 基本语法
    ∗ (功能描述:这个变量代表命令行中所有的参数,* 把所有的参数看成一个整体)
    @ (功能描述:这个变量也代表命令行中所有的参数,不过@把所有的参数区分对待)
  2. 例如
    打印输入所有参数
    shell学习笔记

特殊变量:$?

  1. 基本语法
    $? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0 (具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
  2. 例如
    判断helloworld.sh 脚本是否正确执行
    shell学习笔记

read读取控制台输入

  1. 基本语法
    read(选项)(参数)
    选项:
    -p : 指定读取值时的提示符
    -t:指定读取值时等待的时间(秒)
    参数:
    变量:指定读取值得变量
  2. 例如
    提示10秒内,读取控制台输入的名称
    shell学习笔记

shell运算符

1.字符串运算符
下列表出现了常用的字符串运算符,假定变量a 为“abc” ,变量b 为"efg":

运算符 说明 举例
= 检测两个字符串是否相等,相等返回true [$a = $b] 返回false
!= 检测两个字符串是否相等,不相等返回true [$a != $b] 返回 true
-z 检测字符串长度是否为0. 为0 返回true [-z $a] 返回false
-n 检测字符串长度是都为0,不为0返回true [-n “$a” 返回 true]
str 检测字符串是否为空,不为空返回true [$a] 返回true

实例
字符串运算符实例如下:
shell学习笔记

执行脚本,输出结果如图所示:
shell学习笔记

2.文件测试运算符
文件测试运算符用于检测Unix文件的各种属性
属性检测描述如下:

操作符 说明 举例
-b file 检测文件是否是块设备文件,如果是,则返回true [-b $file ] 返回false
-c file 检测文件是否是字符设备文件,如果是,则返回true [-c $file] 返回false
-d file 检测文件是否是目录,如果是,返回true [-d $file] 返回false
-f file 检测文件是否是普通文件(既不是目录,也不是设备文件) 如果是,则返回true [-f $file] 返回true
-g file 检测文件是否设置SGID位,如果是,则返回true [-g $fiel] 返回false
-k file 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回true [-k $file] 返回false
-p file 检测文件是否是有名管道,如果是,则返回 true [ -p $file ] 返回 false
-u file 检测文件是否设置了 SUID 位,如果是,则返回 true [ -u $file ] 返回 false
-r file 检测文件是否可读,如果是,则返回 true [ -r $file ] 返回 true
-w file 检测文件是否可写,如果是,则返回 true [ -w $file ] 返回 true
-x file 检测文件是否可执行,如果是,则返回 true [ -x $file ] 返回 true
-s file 检测文件是否为空(文件大小是否大于0),不为空返回 true [ -s $file ] 返回 true
-e file 检测文件(包括目录)是否存在,如果是,则返回 true [ -e $file ] 返回 true

实例:略

相关文章: