shell 变量和运算

变量规则

  • 包含字母、数字和下划线
  • 首个字符不能是数字
  • 不能使用空格、标点符号和shell中的关键字
  • 赋值变量与值=号之间不能有空格

在这里插入图片描述

#!/bin/bash
yourName="hello"
echo $yourName            

这里定义的一个变量yourName,使用变量需要在前面添加一个$,{} 包括变量,也可省略,不过在双引号中,可以做变量边界。

变量的重新赋值

yourName="hello"
yourName="hello1"

设置变量只读

readonly + 变量名:实现变量的属性只读,不可更改

yourName="hello"
readonly yourName

删除变量

unset + 变量名

变量类型

字符串

可以使用双引号、单引号甚至不使用引号,双引号可以出现变量和转义字符。

  • 字符串长度 ${#yourName}
  • 字符串截取 ${yourName:1:2} 索引是从0开始
  • 查找字符串 echo expr index "$yourName" l 使用反引号` l 就好查找的字符,索引还是从0开始,输出第一个出现的索引
数组

shell 只支持以一维数组

  1. 定义
    array_name=(value1 value2 …) 空格间隔
    array_name[0]=value1
  2. 读取数组
    ${yourName[0]} 读取数组第一个元素
    ${yourName[@]} 读取所有元素
  3. 数组长度
    ${#yourName[@]}
#!/bin/bash
yourName=(1 2 3 4)
echo ${yourName[0]}
echo ${yourName[@]}

注释

#:就是注释当前行

传递参数

$n 获取对应的参数
在这里插入图片描述

#!/bin/bash
echo "$0"
echo "$1"
echo "$2"

  • $# 传递到脚本的参数的个数
  • $$ 当前进程ID
  • $! 后台最后进程的Id
  • $* 显示所有参数

运算符

shell并不支持直接运算,可以使用expr 和 awk
expe 使用反引号包括

  • 算术运算符
`expr 2 + 2`

注意这里 + 左右两边都是用空格的
计算运算符:+ - / * = == !=

  • 关系运算符
    -eq -nee -gt -lt -ge -le
[ $a -eq $b ] 
  • 布尔运算和逻辑运算
    ! 非
    -o 或
    -a 与
    &&
    ||
  • 字符运算
    = 判断相等
    != 判断不相等
    -z 检测长度是否为0
    -n 检测长度是否不为0
    $ 检测是否为空
  • 文件测试运算符
    [-b file] 检测文件是否为块设备文件
    [-f file] 检测文件是否可读
    [-e file] 检测文件或目录是否存在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的天才女友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值