shell学习(1)变量、算数运算、测试判断、命令间逻辑符号

变量

shell脚本中的变量都是字符串。

变量类型

  • 环境变量:系统预定义好的变量
    1,用户环境变量(~/.bash_profile)
    2,系统环境变量(/etc/profile)
    envexport都可以查看系统环境变量
  • 命令行变量:在脚本内部使用用户命令行中传入的参数,如下
    在这里插入图片描述
  • 自定义变量
    定义、赋值与引用
    在这里插入图片描述
    注意等号两边不能有空格,引用采用${变量名}的形式
    撤销变量
    unset 变量名
    只读变量
    readonly 变量名

算数运算

有以下算运算形式

  • $((表达式))
  • $[表达式]
  • expr 表达式
    注意,前面2种没有空格,expr有空格在这里插入图片描述

内置测试判断

2种形式,满足测试条件则为真

  • test 测试表达式
  • [ 测试表达式 ]

1.文件测试

  • -e 判断file是否存在
  • -f 判断file是否是普通文件
  • -d判断file是否是目录
  • -s判断file是否非空
  • -r 判断file是否可读
  • -w 判断file是否可写
  • -x 判断file是否可执行
    在这里插入图片描述

2.字符串测试

  • s1 = s2 判断字符串s1、s2是否相同
  • s1 != s2 判断字符串s1、s2是否不同
  • s1 > s2 判断字符串s1是否大于s2
  • s1 < s2 判断字符串s1是否小于s2
  • -n s 判断字符串s长度是否为非0
  • -z s 判断字符串s长度是否为为0
    在这里插入图片描述

3.数值大小测试

  • -eq 等于
  • -ne 不等于
  • -gt 大于
  • -ge 大于等于
  • -lt 小于
  • -le 小于等于
    在这里插入图片描述
    其中测试表达式还可以用!(非) -o(或) -a(与)连接起来

[ ! EXPR ] 逻辑非,如果 EXPR 是false则返回为真。
[ EXPR1 -a EXPR2 ] 逻辑与,如果 EXPR1 and EXPR2 全真则返回为真。
[ EXPR1 -o EXPR2 ] 逻辑或,如果 EXPR1 或者 EXPR2 为真则返回为真。
[ ] || [ ] 用OR来合并两个条件
[ ] && [ ] 用AND来合并两个条件
在这里插入图片描述

命令间逻辑符号

  • &&
  • ||
  • ;

CMD1 && CMD2
只有CMD1成功,才会执行CMD2,否则不执行

CMD1 || CMD2
只有CMD1失败,才会执行CMD2。否则不执行

CMD1 ; CMD2
CMD1执行完后再执行CMD2
在这里插入图片描述

执行方式

  • 赋予权限直接运行
    chmod +x first.sh
    ./first.sh

  • 通过bash或sh运行
    bash first.sh
    sh first.sh

  • 通过.或者source运行
    source first.sh
    . first.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值