shell中逻辑与的两种表示方法

发布时间:2017-2-23 15:14:48 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"shell中逻辑与的两种表示方法 ",主要涉及到shell中逻辑与的两种表示方法 方面的内容,对于shell中逻辑与的两种表示方法 感兴趣的同学可以参考一下。

bash中表示逻辑与的两种方法:

(1)[ $state == "running" -a $name == "zone1" ]

(2)[[ $state == "running" && $name == "zone1" ]]

ksh中支持第二种。

实例:

#! /bin/bash read -p "pelease input your name:" nameread -p "pleaase input your password:" passwdif [ $name == "root" -a $passwd == "123" ]; then    echo "登录成功!"else    echo "登录失败!"fiif [[ $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 nameread 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:    (这个地方有回车)rootpleaase input your password: 123Login pass

上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
下一篇:根据单击当前行的按钮时,获取 该行的其他列 的值

相关文章

相关评论