【11.19】shell (上)

本文介绍了Shell脚本中的变量使用,包括如何引用命令结果、与用户的交互,以及内置变量$0, $1等。接着讲解了Shell的逻辑判断,包括if...then...fi、if...else...fi、if...elif...else...fi结构,以及各种比较运算符。还讨论了if判断文件目录属性的技巧,并提到了case语句的用法。" 124415895,10920830,远程通讯恶搞:服务器端与客户端实战,"['c语言', 'c++', '网络编程', '服务器开发', '客户端应用']
摘要由CSDN通过智能技术生成

5.29 shell脚本中的变量

  • 当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
  • 使用条件语句时,常使用变量 if [ $a -gt 1 ]; then … ; fi
  • 引用某个命令的结果时,用变量替代 n=`wc -l 1.txt`
  • 写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n 如果没写这个n,可以直接使用 $REPLY
  • 内置变量 $0, $1, $2… $0表示脚本本身,$1 第一个参数,$2 第二个 … $# 表示参数个数
  • 数学运算 a=1;b=2; c=$(($a+$b))或者$[$a+$b]

5.30 shell中逻辑判断

  • 格式1:if 条件;then 语句;fi
[root@alexis-01 ~]# vim 01.sh
#/bin/bash
a=5
if [ $a -gt 3 ]
then
    echo ok
fi
  • 格式2:if 条件;then 语句;else 语句;fi
[root@alexis-01 shell]# vim 02.sh
#/bin/bash
a=1
if [ $a -gt 3 ]
then
    echo ok
else
    echo not ok
fi
[root@alexis-01 shell]# sh -x 02.sh 
+ a=1
+ '[' 1 -gt 3 ']'
+ echo not ok
not ok
  • 格式3:if …;then …;elif …;then …;else …;fi
[root@alexis-01 shell]# vim 03.sh
#/bin/bash
a=3
if [ $a -gt 4 ]
then
    echo ">4"
elif [ $a -lt 6 ]
then
    echo "<6 && >1"
else
    echo not ok
fi
[root@alexis-01 shell]# sh -x  03.sh 
+ a=3
+ '[' 3 -gt 4 ']'
+ '[' 3 -lt 6 ']'
+ echo '<6 && >1'
<6 && >1

[root@alexis-01 shell]# vim 03.sh
#/bin/bash
a=5
if [ $a -lt 4 ]
then
    echo "<4"
elif [ $a -gt 6 ]
then
    echo ">6"
else
    echo not ok
fi
[root@alexis-01 shell]# sh -x  03.sh 
+ a=5
+ '[' 5 -lt 4 ']'
+ '[' 5 -gt 6 ']'
+ echo not ok
not ok
  • 逻辑判断表达式:
    if [ $a -gt $b ]; -gt (>); 大于
    if [ $a -lt 5 ]; -lt(<); 小于
    if [ $b -eq 10 ]等 -eq(==); 等于
    -le(<=);-ge(>=); -ne(!=) 注意到处都是空格

  • 如果非要用 > < ,可以用(( ))

[root@alexis shell]# if (($a>1));then echo ok;fi
ok
  • 可以使用 && || 结合多个条件
    if [ $a -gt 5 ] && [ $a -lt 10 ]; then 并且
    if [ $b -gt 5 ] || [ $b -lt 3 ]; then 或者

5.31 if判断文件目录属性

选项 含义
[ -f file
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值