首页 > 学院 > 操作系统 > 正文

shell-02

2024-06-28 16:04:30
字体:
来源:转载
供稿:网友

一 整数运算的命令

++ -- +=  -+ *= /= -=++自加1--自减1x+=10 等同与 x=x+10x-=10 等同与 x=x-10x*=10 等同与 x=x*101.exPR  数字  运算符  数字   <-----------之间要有空格

2.echo $((数字+运算符+数字))echo $[数字+运算符+数字]3.let i++let i--let i+=10

let i=i+10

二 浮点数运算

#bc      交互式#echo "scale=2;3/4" | bc#echo "1+2" | bcbc支持逻辑运算> <  <= == !=...#echo "1>3" |bc  对是1,错是0#echo "3>1" |bc  对是1,错是0test测试语法格式:test 表达式[ 表达式 ]1.字符串测试#[ -z $abc ]    判断abc是否为空值#echo $?    结果为0,对,空#abc=123#[ -z $abc ]    判断abc是否为空值#echo $?    结果为1,错,非空所有测试都可用在测试前添加!代表取反#abc=123#[ ! -z $abc ]    判断abc是否为空值#echo $?      结果为0,对,非空#[ a = a ]     判断a是否与a相同#echo $?    结果0,对,相同#[ a != a ]     判断a是否与a不相同#echo $?    结果1,错2.数字判断#[ 3 -eq 3 ]   判断3是否等于3-eq    等于equal-ne    不等于notequal-gt    大于greaterthan-lt     小于lessthan-ge   大于等于-le    小于等于#A&&B   仅A命令成功,才执行B命令#A||B   仅A不成功,才执行B命令#A;B;C   执行A,执行B,执行C,没有逻辑关系#[ 3 -eq 3 ]&& echo Y || echo N#[ 3 -eq 4 ]&& echo Y || echo N$((RANDOM%10)) = $[RANDOM%10]

表示随机取{0~9}十个数字

$((RANDOM%100)) = $[RANDOM%100]表示随机取{0~99}十个数字

#vim test.sh#!/bin/bashnum=$((RANDOM%10))read -p "随机数[0-9],你猜:"guess[ $guess -eq $num ]&&echo "猜对了"&&exit||echo "悲惨"3.对文件和目录的测试-e 文件或目录  判断是否存在-f 文件或目录  判断是否存在且为文件-d 文件或目录  判断是否存在且为目录-r 文件或目录  判断是存在且否有r权限-w 文件或目录  判断是否存在且有w权限-x 文件或目录  判断是否存在且有x权限-s 文件或目录  判断是否存在且非空#[ -f /etc/hosts ] && echo Y ||echo N#vim test8.sh#!/bin/bashlogin_num=`who |wc -l`  #反引号[ $login_num -gt 5 ]&&mail -s "Error" root </etc/passwd 

制定计划任务#crontab -e*/1 * * * *  /var/tmp/test8.shShell中的IF语句格式1:if [ 判断 ];then    命令fi格式2:if [ 判断 ];then    命令else    命令fi格式3:if [ 判断 ];then    命令elif [ 判断 ];then    命令... ...else    命令fi 

#vim test.sh#!/bin/bashping -c 3 -i 0.1 -w 2 $1 &>/dev/nullif [ $? -eq 0 ];then    echo "该主机$1,ping通"else    echo "该主机$1,无法ping通"fi等级分>=90  神功盖世80-89 登堂入室70-79 初窥门道60-69 初学炸道<60   婴儿#!/bin/bashread -p "输入您的积分:" jifenif [ $jifen -ge 90 ];then    echo "神功盖世"elif [ $jifen -ge 80 ];then    echo "登堂入室"elif [ $jifen -ge 70 ];then    echo "初窥门道"elif [ $jifen -ge 60 ];then    echo "初学炸道"else    echo "婴儿"fi+++++++++++++++++++++++++++++猜数字游戏:#!/bin/bashnum=$((RANDOM%100))for i in {1..6}doread -p "有个随机数[0-99],你猜:"guessif [ $guess -eq $num ];then    echo "恭喜,猜对了,猜了$i次"    exitelif [ $guess -gt $num ];then    echo "您猜大了,猜了$i次"else    echo "您猜小了,猜了$i次"fidone-eqif [ $guess  $num ];then    if [ $guess -eq 10 ];then       echo 对,而且中奖    fielse    echo 错了fiif [];then    命令elif    命令firead -p 请输入数字: numif [ $num -eq 2 ]+++++++++++++++++++++++++++++#!/bin/bashread -p "请输入数字:" numif [ -z $num ];then    echo "没有东西"    exitfi jieguo=`echo "$num*1" |bc` if [ $jieguo -eq 0 ];then    echo "不是数字"    exitfiif [ $num -eq 2 ];then    echo "ok"else    echo "OOOO"fi 


上一篇:nohup输出

下一篇:scp命令

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表