利用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
,失败的命令返回非零值。