shell中逻辑与的两种表示方法
2024-10-16 09:38:26
bash中表示逻辑与的两种方法:
(1)[ $state == "running" -a $name == "zone1" ]
(2)[[ $state == "running" && $name == "zone1" ]]
ksh中支持第二种。
实例:
#! /bin/bash
read -p "pelease input your name:" name
read -p "pleaase input your password:" passwd if [ $name == "root" -a $passwd == "123" ]; then
echo "登录成功!"
else
echo "登录失败!"
fi if [[ $name == "root" && $passwd == "123" ]]; then
echo "Login pass"
else
echo "Login fail"
fi 输出结果:
pelease input your name:root
pleaase input your password:123
登录成功!
Login pass
在ksh中read -p的使用好像有问题,会出现./learn_shell.save[2]: read: no query process,这样的错误提示。
因此改成下面的形式:
(1)第一种
echo "ThePrompt\c"
read TheSomthing
echo $TheSomething
(2)第二种
read TheSomething?'ThePrompt'
细微区别就是第一种提示语句后会回车,而第二种不会回车。
实例:
#! /usr/bin/ksh
echo "pelease input your name:"
read name read passwd?"pleaase input your password: " if [[ $name == "root" && $passwd == "123" ]]; then
echo "Login pass"
else
echo "Login fail"
fi # ./learn_shell.save
pelease input your name: (这个地方有回车)
root
pleaase input your password: 123
Login pass
最新文章
- android 修改videoview的宽度和高度
- ssh 登录
- python转exe的小工具
- js多种切换图片
- oracle--知识点汇总1
- HDU 1171 Big Event in HDU 多重背包二进制优化
- sql server中的左连接与右连接的简便写法
- asp.net 间传值的方法
- 团队项目(NABC分析)
- IniParse解析类
- Robotium跨应用处理方法
- Android再学习-20141022-Activity的生命周期
- 【数位DP】 HDU 4734 F(x)
- JavaScript中,关于new的那些事
- ruby web性能响应时间
- VMware系统克隆
- Flutter安装之后cmd运行错误解决
- 6.3 OrderBy 优化
- vue+窗格切换+田字+dicom显示_03
- 将web应用部署到Tomcat的三种方式