shell编程(4)脚本与用户交互以及if条件判断-泷羽sec

利用read name age 指定变量信息 xiaoyu 26 然后我们利用

echo $name来接收用户输入

echo $age 来接收用户输入

示例:

利用read -p "请输入您的姓名:"name(注意:这个地方需要先进入bash,才能执行该命令)

执行结果如图所示:

输入xiaoyu

echo $name(接收用户的输入)

再举一个例子 read -t 10 -p "请输入您的姓名:" name

-t (指定时间)   

(这个例子试讲如果我们用户10秒没有输入自动退出程序)

在10秒内有输入就会执行成功,不输入就会自动退出:

如何限制用户输入的字符个数

read -n 3 -t 10 -p "请输入您的姓名" name

-n 限制字符输入的数量

用脚本编写模拟

vim i.sh

read -p "请输入您的姓名:" name

echo "您输入的姓名是:$name,请您确认:"

做好内容编辑之后,结果显示:

关系运算符

首先定义两个变量,然后通过if条件判断来进行两个简单的条件判断,再接入关系运算符。

-eq 相等

-lt 小于

-gt 大于

-ne 不等于

else 反转

注意:只能对数值进行判断,无法对这个字符串进行判断

测试脚本内容如下;
num1=78

num2=89

if[ $num1 - eq $num2 ] ; then

        echo 相等

else

        echo 不相等

fi

脚本内容截图

运行脚本:

总结:

基本结构

if 条件; then
    # 如果条件为真,执行的代码
else
    # 如果条件为假,执行的代码
fi

条件判断运算符:

  • =:判断两个字符串是否相等
  • !=:判断两个字符串是否不等
  • -z:判断字符串是否为空
  • -n:判断字符串是否非空
str1="hello"
str2="world"
if [ "$str1" = "$str2" ]; then
    echo "相等"
else
    echo "不相等"
fi

整数比较

  • -eq:等于
  • -ne:不等于
  • -gt:大于
  • -lt:小于
  • -ge:大于或等于
  • -le:小于或等于
    num1=10
    num2=20
    if [ $num1 -lt $num2 ]; then
        echo "$num1 小于 $num2"
    else
        echo "$num1 不小于 $num2"
    fi
    

    文件比较:

  • -e:检查文件是否存在
  • -f:检查是否是普通文件
  • -d:检查是否是目录
  • -r:检查文件是否可读
  • -w:检查文件是否可写
  • -x:检查文件是否可执行
    if [ -e "file.txt" ]; then
        echo "文件存在"
    else
        echo "文件不存在"
    fi
    

    &&和||操作符

注意事项:
 

  • 条件判断中的方括号 [ ] 和运算符之间必须有空格。
  • 在字符串比较中,使用 = 比较时,字符串要用双引号 "" 包括,以避免空格和特殊字符的问题。
  • if 语句的条件必须有返回值(0 为真,非 0 为假)。如在 shell 中,成功的命令返回值为 0,失败的命令返回非零值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值