为了账号安全,请及时绑定邮箱和手机立即绑定
  • 例子:判断用书输入的是什么文件

    #!/bin/bash

    read -p "Please input a filename :" file

    if [-z "$file" ]

    #判断file变量是否为空

    then

    echo " Error,please input a filename"

    exit 1

    #对于多分之判断语句,如果第一个不成立,接着判断第二个,所以这里要加exit,第一个都是空了,不成了了,直接让他退出

    elif [ ! -e "$file" ]

    #判断file的值是否存在 -e判断文件是否存在,存在则为真

    then

    echo "Your input is not a file !"

    exit 2

    elif [ -f "$file" ]

    #判断file的值是否为普通文件,-f判断文件是否存在,并且是否为普通 文件

    then

    echo "$file is a regulare file!"

    elif[ -d "$file" ]

    #判断file的值是否为目录文件,-d判断文件是否存在,并且是否为目录 文件

    then

    echo "file is a directory!'

    else

    echo "file is other file!"

    fi

    查看全部
  • #!/bin/bash/

    #字符界面加减乘除计算器

    read -t 30 -p "Please input num1:" num1

    read -t 30-p "Please input num2:" num2

    #通过read命令接收要计算的数值,并赋予变量num1和num2

    read -t 30 -p "Please input a operator :" ope

    #通过read命令接收要计算的符号,并赋予变量ope

    if [-n "$num1" -a -n "num2" -a -n "$ope" ]

    #第一层判断,用来判断num1和num2,ope中都有值 -a表示多条件判断,都为真是才为真

    then

    test1=$(echo $num1 | sed 's/[0-9]//g']

    test1=$(echo $num2 | sed 's/[0-9]//g']

    #定义变量test1和test2的值为¥(命令)的结果

    #后续sed命令 s表示替换,把0-9替换为空,g的意思是都替换,整个命令作用是把变量test1的值替换为空,如果能替换为空,证明num1的值是数字

    #如果不能替换为空,证明num1的值为非数字。我们用这种方法判断变量num1的值为数字,用同样的方法测试test2

    if [ -z "$test1" -a -z "$test2" ]

    #第二层判断,用来判断num1和num2位数值,-z表示为空则返回真

    #如果变量test1和test2为空,则证明num1和num2是数字

    then

    #如果test1和test2是数字,则执行以下命令

    if [ "$ope"=='+' ]

    #第三层判断用来确认运算符

    #测试变量$ope中是什么运算符

    then

    sum=$(($num1+$num2))

    #如果是加号则执行加法运算

    elif [ "$ope"=='-' ]

    then

    sum=(($num1-$num2))

    #如果是减号则执行减法运算

    elif [ "$ope"=='*' ]

    then

    sum=(($num1*$num2))

    #如果是乘号则执行乘法运算

    elif [ "$ope"=='/' ]

    then

    sum=(($num1/$num2))

    #如果除号则执行除法运算、

    else

    echo "Please enter a valid symbol"

    #如果运算符不匹配,则提示输入有效的符号

    exit 10

    #并退出程序。返回错误代码 10

    fi

    else

    #如果test1和test2不为空,说明tnum1和num2不是数字

    echo "Please enter a valid value"

    #提示输入有效的数值

    exit 11

    #并退出程序。返回错误代码 11

    fi

    else

    echo "请输入内容,不能为空”

    exit 12

    #退出程序,犯会错误代码12

    #若输入为空,则提示

    fi

    echo “$num1 $ope $num2 : $sum”

    #输出数值运算的结果


    #看返回值用 echo $?


    查看全部
  • #!/bin/bash/

    #字符界面加减乘除计算器

    read -t 30 -p "Please input num1:" num1

    read -t 30-p "Please input num2:" num2

    #通过read命令接收要计算的数值,并赋予变量num1和num2

    read -t 30 -p "Please input a operator :" ope

    #通过read命令接收要计算的符号,并赋予变量ope

    if [-n "$num1" -a -n "num2" -a -n "$ope" ]

    #第一层判断,用来判断num1和num2,ope中都有值 -a表示多条件判断,都为真是才为真

    then

    test1=$(echo $num1 | sed 's/[0-9]//g']

    test1=$(echo $num2 | sed 's/[0-9]//g']

    #定义变量test1和test2的值为¥(命令)的结果

    #后续sed命令 s表示替换,把0-9替换为空,g的意思是都替换,整个命令作用是把变量test1的值替换为空,如果能替换为空,证明num1的值是数字

    #如果不能替换为空,证明num1的值为非数字。我们用这种方法判断变量num1的值为数字,用同样的方法测试test2

    if [ -z "$test1" -a -z "$test2" ]

    #第二层判断,用来判断num1和num2位数值,-z表示为空则返回真

    #如果变量test1和test2为空,则证明num1和num2是数字

    then

    #如果test1和test2是数字,则执行以下命令

    if [ "$ope"=='+' ]

    #第三层判断用来确认运算符

    #测试变量$ope中是什么运算符

    then

    sum=$(($num1+$num2))

    #如果是加号则执行加法运算

    elif [ "$ope"=='-' ]

    then

    sum=(($num1-$num2))

    #如果是减号则执行减法运算

    elif [ "$ope"=='*' ]

    then

    sum=(($num1*$num2))

    #如果是乘号则执行乘法运算

    elif [ "$ope"=='/' ]

    then

    sum=(($num1/$num2))

    #如果除号则执行除法运算、

    else

    echo "Please enter a valid symbol"

    #如果运算符不匹配,则提示输入有效的符号

    exit 10

    #并退出程序。返回错误代码 10

    fi

    else

    #如果test1和test2不为空,说明tnum1和num2不是数字

    echo "Please enter a valid value"

    #提示输入有效的数值

    exit 11

    #并退出程序。返回错误代码 11

    fi

    else

    echo "请输入内容,不能为空”

    exit 12

    #退出程序,犯会错误代码12

    #若输入为空,则提示

    fi

    echo “$num1 $ope $num2 : $sum”

    #输出数值运算的结果


    #看返回值用 echo $?

    查看全部
  • 写一个计算器脚本

    查看全部
  • 例子:判断apache是否启动

    查看全部
  • ps aux 累死任务管理器,查看当前正在运行的程序

    查看全部
  • 例子3:  输入一个字符串,判断是不是目录

    #!/bin/bash

    read -t 30 -p "Please input a dir:" dir

    if [-d "$dir" ]

    then

    echo "shi mu lu"

    else

    echo "no no no"

    fi

    查看全部
  • 例子2:

    #/bin/bash/

    rate=$(df -h | grep "sda5" | awk '{print $5}' | cut -d "%" -f1)

    if [$rate -ge 80 ]

    then

    echo "warning"

    fi

    df -h查看分区,从中用grep行查询找出有sda5的那一行,因为这里是用空格作为分隔符,所以不能用cut,用awk print找到第5列,这时找到11%,然后%作为分隔符,列查询第一列找到11,赋值给rate,然后rate 用 -ge判断是不是大于80,若大于,则输出警告

    查看全部
  • 例子:

    #/bin/bash

    test=$(env | grep USER | cut -d "=" f 2) //先执行env命令,然后用grep从中找到USER,在列查询用=作为分隔符,选取第二列,把这个值赋值给test

    if [ "$test"=="root" ] 


     then

    echo "dang qian shi root"

    //判断test值是否和root相等,相等则输出“...”

    fi



    查看全部
  • 多重条件判断

    查看全部
  • 记得加“”

    查看全部
  • 按照文件权限进行判断

    查看全部
  • 按照文件类型判断

    查看全部
  • 判断文件是否存在

    查看全部
  • sed 复习 

    sed ‘[操作方式]/[旧字符]/[新字符]/g’

    #/g    替换所有的“旧字符”

    sed ‘s/[0-9]//g’test.txt     #把所有的数字替换为空。

    查看全部

举报

0/150
提交
取消
课程须知
小伙伴们,学习本课程前需要掌握Linux常用命令,并学习《Tony老师聊shell》系列的前四门课程呦!
老师告诉你能学到什么?
1、掌握条件判断和流程控制的基本语句 2、通过大量案例的学习,掌握shell编程思想 3、体会shell编程在Linux运维中的重要作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!