shell学习笔记

(一) 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的值
    在这里插入图片描述
特殊变量: $#
  1. 基本语法
    $# (功能描述:获取所有输入参数个数,常用于循环).
  2. 例如
    获取输入参数的个数
    在这里插入图片描述
特殊变量 :$ *、$ @
  1. 基本语法
    ∗ (功能描述:这个变量代表命令行中所有的参数,* 把所有的参数看成一个整体)
    @ (功能描述:这个变量也代表命令行中所有的参数,不过@把所有的参数区分对待)
  2. 例如
    打印输入所有参数
    在这里插入图片描述
特殊变量:$?
  1. 基本语法
    $? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0 (具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
  2. 例如
    判断helloworld.sh脚本是否正确执行
    在这里插入图片描述
read读取控制台输入
  1. 基本语法
    read(选项)(参数)
    选项:
    -p : 指定读取值时的提示符
    -t:指定读取值时等待的时间(秒)
    参数:
    变量:指定读取值得变量
  2. 例如
    提示10秒内,读取控制台输入的名称
    在这里插入图片描述

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

实例
字符串运算符实例如下:
在这里插入图片描述

执行脚本,输出结果如图所示:
在这里插入图片描述

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

实例:略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值