当前位置: > shell编程 >

shell运维自动化if-read

时间:2014-08-31 02:11来源:linux.it.net.cn 作者:it
 今天的课程中我们将学习对用户输出的参数进行判断。
    例子:如果你说别人坏话?那就要挨打了。
    故事2:
    当你吃零食时,猫儿在你身边叫的时候,你听到了,然后你将手中的零食,分了一块给小猫,小猫得到零食后,就离开你了。很显然这只猫是吃贷。
    下面我们拆分这个故事,并实现它。放开那只猫让你来。
    这个故事里,听,分,离开是关键字
    主人公听到后,做出的反应是分一点给猫,然后猫得到后就走了
    2、1 read
    shell:
    read 从命令行读取一行用户输入
    根据编程来看用的最多的是:
    read -p "你的描述" ppp
    意思:
    在命令行输出一个提示用户输入的等待,然后定义了变量叫ppp(名字随便取,好的习惯是,变量名要用意义,好比,西瓜为什么叫西瓜不叫土豆?因为这是常识)
    然后用户输入后,将用户的输入读进变量ppp
    我们接到了变量,然后就应该干嘛?对这变量使用之。
    2.1.sh
    #!/bin/sh
    #code by scpman
    #read
    read -p "What's your Name: " name
    echo "Hi," $name
    echo "now Time : `date`"
    在这个脚本中,我们提示用户输入名字,然后输出hi,用户输出的名字,并在脚本中输出了当前系统时间。
    2、2 if
    在2.1中,我们已经接到用户输入了,那你给猫一只狗,猫会吃吗?任何时候,我们都不相信用户的输入!猫有原则,给只狗就是不吃,只吃老鼠(主人公在吃的零食)
    如果你给的是老鼠,猫就吃,否则,就不吃。
    那就用if来了解这个事吧
    语法:
    if …then…fi
    如果给的是老鼠,就吃
    if …else…fi
    如果给的不是老鼠,而是别的呢
    If…elif…elif…else…fi
    如果给的是老鼠,或者给饼干,给别的等
    if也在一些固定的表达式用来判断一些问题:
    列出一些:
    条件表达式
    文件表达式
    if [ -f  file ]    如果文件存在
    if [ -d …   ]    如果目录存在
    if [ -s file  ]    如果文件存在且非空
    if [ -r file  ]    如果文件存在且可读
    if [ -w file  ]    如果文件存在且可写
    if [ -x file  ]    如果文件存在且可执行
    整数变量表达式
    if [ int1 -eq int2 ]    如果int1等于int2
    if [ int1 -ne int2 ]    如果不等于
    if [ int1 -ge int2 ]       如果>=
    if [ int1 -gt int2 ]       如果>
    if [ int1 -le int2 ]       如果<=
    if [ int1 -lt int2 ]       如果<
    字符串变量表达式
    If  [ $a = $b ]                 如果string1等于string2
    字符串允许使用赋值号做等号
    if  [ $string1 !=  $string2 ]   如果string1不等于string2
    if  [ -n $string  ]             如果string 非空(非0),返回0(true)
    if  [ -z $string  ]             如果string 为空
    if  [ $sting ]                  如果string 非空,返回0 (和-n类似)
    条件表达式引用变量要带$ ,并最好加" $变量名"(通过失败的经验得来的)
    2.3 实例
    1、如果给的是老鼠,猫就吃
    思考:可能的情况:
    A如果你只是挥了下手,什么都没给
    B 如果你给的不是老鼠
    C 如果你给了老鼠,却扔给了别人
    #!/bin/sh
    #code by scpman
    #cat's food
    read -p "Please input the cat's food:" food
    if [ -n "$food" ]
    then
    echo $food
    fi
    要是有输入就输出,没有输入就退出,并提示用户什么都没输入。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容