码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2016-12-24 02:02:44      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:失败   stat   fail   pass   roc   read   run   问题   错误   

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

 

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

标签:失败   stat   fail   pass   roc   read   run   问题   错误   

原文地址:http://www.cnblogs.com/Berryxiong/p/6216369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!