精华内容
下载资源
问答
  • 主要介绍了Linux shell脚本编程if语句的使用方法,大家参考使用吧
  • 1、单分支的if语句 if 条件测试命令 then 命令序列 fi 2、双分支的if语句 if 条件测试命令 then 命令序列1 else 命令序列2 fi 3、多分支的if语句(elif 可以嵌套多个,一般多了用case表达) if 条件测试命令1 then ...

    if语法:

    1、单分支的if语句

    if 条件测试命令

    then

    命令序列

    fi

    2、双分支的if语句

    if 条件测试命令

    then

    命令序列1

    else

    命令序列2

    fi

    3、多分支的if语句(elif 可以嵌套多个,一般多了用case表达)

    if 条件测试命令1

    then

    命令序列1

    elif 条件测试命令2

    then

    命令序列2

    .........

    else

    命令序列n

    fi

    案例1

    #!/bin/bash

    #######################################################################

    # "提示用户指定备份目录的路径,若目录存在则显示信息跳过,否则显示相应提示信息,并创建该目录"

    # "-----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com"

    ######################################################################

    read -p "What is your backup directoy:" BakDir

    if [ -d $BakDir ]; then

    echo "$BakDir already exist."

    else

    echo "$BakDir is not exist, will make it."

    mkdir $BakDir

    fi

    clip_image002

    本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173

    案例2

    #!/bin/bash

    #######################################################################

    #统计当前登录到系统中的用户数量,若判断是否超过三个,若是则显示实际数量并给出警告信息,否则列出

    登录的用户账户名称及所在终端

    # "-----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com"

    ######################################################################

    UserNum=`who | wc -l`

    if [ $UserNum -gt 3 ]; then

    echo "Alert, too many login users ( Total: $UserNum)."

    else

    echo "Login Users:"

    who | awk `{print $1,$2}`

    fi

    clip_image004

    本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173

    诺技术博客新地址: www.rsyslog.org ,欢迎前来访问!

    案例3

    #!/bin/bash

    #######################################################################

    #每隔5分钟检测一次 mysql服务进程的运行状态,若发现mysql进程已经终止,则在"/var/log/messages"文件中追加写入日志信息(包括当时时间)并重启httpd服务;否则不做任何操作

    # -----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com

    ######################################################################

    service httpd status &> /dev/null

    if [ $? -ne 0 ] ; then

    echo "At time:$(date):Http Server is down." >> /var/log/messages

    /etc/rc.d/init.d/httpd start

    fi

    # crontab -e

    #*/5 * * * * /data/shell.sh/chkdhcpd.sh

    clip_image006

    本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173

    案例4

    #!/bin/bash

    #######################################################################

    # 检查portmap进程是否已经存在,若已经存在则输出 "Portmap service is running.";否则检查是否存在"/etc/rc.d/init.d/portmap"可执行脚本,存在则启动portmap服务,否则提示"no portmap script files"

    # -----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com

    ######################################################################

    pgrep portmap &> /dev/null

    if [ $? -eq 0 ] ; then

    echo "Protmap service is running."

    elif [ -x "/etc/rc.d/init.d/portmap" ]; then

    /etc/rc.d/init.d/portmap start

    else

    echo "no portmap script files."

    fi

    clip_image008


    本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1079173,如需转载请自行联系原作者

    展开全文
  • Linux shell脚本if条件判断

    万次阅读 2019-06-21 15:04:56
    shell基本语法 shell中将命令结果赋值给变量 var=`command` var=$(command) # 推荐是用这种方式,支撑嵌套 ...SHELL脚本获取自身所在路径和名字 #!/bin/bash BaseName=$(basename $BASH_SO...

    shell基本语法

    shell中将命令结果赋值给变量

    var=`command`
    var=$(command) # 推荐是用这种方式,支撑嵌套

    shell 脚本中变量的数学计算

     

    shell声明变量类型

    declare -i x
    x=1+1
    echo $x

    SHELL脚本获取自身所在路径和名字

    #!/bin/bash
    BaseName=$(basename $BASH_SOURCE)
    # https://xvcat.com/post/1096
    

    shell脚本实现:每10秒打印一次系统时间,连续打印10次

    #/bin/bash
    i=1
    while [ $i -le 10 ]
    do
       date
       sleep 10
       let i++
    done

    shell脚本实现每隔10s执行一次top命令,执行100次结束

    n=0;while(($n<=100));do top -n 1;n=$((n + 1));sleep 10;done

    Linux中记录终端输出到文本文件

    把命令运行的结果保存到文件当中:用 > 把输出转向就可以了
      例子:
      $ ls > ls.txt    #或者 ls-->ls.txt    #把ls命令的运行结果保存到文件ls.txt中
      
      说明: > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
           >> 是把输出附向到文件的后面,文件原内容会保留下来

    shell除法显示小数

    shell计算中使用除法,基本默认上都是整除。
    
    比如:
    num1=2
    num2=3
    num3=`expr $num1 / $num2`
    这个时候num3=0 ,是因为是因为expr不支持浮点除法
    解决的方法:
    num3=`echo "sclae=2; $num1/$num2" | bc`
    使用bc工具,sclae控制小数点后保留几位
    还有一种方法
    awk 'BEGIN{printf "%.2f\n",’$num1‘/’$num2‘}'
    如果用百分比表示
    awk 'BEGIN{printf "%.2f%\n",(’$num1‘/’$num2‘)*100}'

    玩转Bash脚本:循环结构之while循环

    参考:https://blog.csdn.net/guodongxiaren/article/details/43341769

    IF条件判断

    1、基本语法:

    if [ command ]; then
       符合该条件执行的语句
    fi

    2、扩展语法:

    if [ command ];then
       符合该条件执行的语句
    elif [ command ];then
       符合该条件执行的语句
    else
       符合该条件执行的语句
    fi

    3、语法说明:
    注意:
    1、[  ]表示条件测试。注意这里的空格很重要。要注意在'['后面和']'前面都必须要有空格
    2、在shell中,then和fi是分开的语句。如果要在同一行里面输入,则需要用分号将他们隔开。
    3、注意if判断中对于变量的处理,需要加引号,以免一些不必要的错误。没有加双引号会在一些含空格等的字符串变量判断的时候产生错误。比如[ -n "$var" ]如果var为空会出错
    4、判断是不支持浮点值的
    5、如果只单独使用>或者<号,系统会认为是输出或者输入重定向,虽然结果显示正确,但是其实是错误的,因此要对这些符号进行转意
    6、在默认中,运行if语句中的命令所产生的错误信息仍然出现在脚本的输出结果中
    7、使用-z或者-n来检查长度的时候,没有定义的变量也为0
    8、空变量和没有初始化的变量可能会对shell脚本测试产生灾难性的影响,因此在不确定变量的内容的时候,在测试号前使用-n或者-z测试一下
    9、? 变量包含了之前执行命令的退出状态(最近完成的前台进程)(可以用于检测退出状态)


    常用参数:
    文件/目录判断:

    [ -a FILE ] 如果 FILE 存在则为真。 
    [ -b FILE ] 如果 FILE 存在且是一个块文件则返回为真。
    [ -c FILE ] 如果 FILE 存在且是一个字符文件则返回为真。
    [ -d FILE ] 如果 FILE 存在且是一个目录则返回为真。 
    [ -e FILE ] 如果 指定的文件或目录存在时返回为真。
    [ -f FILE ] 如果 FILE 存在且是一个普通文件则返回为真。
    [ -g FILE ] 如果 FILE 存在且设置了SGID则返回为真。
    [ -h FILE ] 如果 FILE 存在且是一个符号符号链接文件则返回为真。(该选项在一些老系统上无效)
    [ -k FILE ] 如果 FILE 存在且已经设置了冒险位则返回为真。
    [ -p FILE ] 如果 FILE 存并且是命令管道时返回为真。
    [ -r FILE ] 如果 FILE 存在且是可读的则返回为真。
    [ -s FILE ] 如果 FILE 存在且大小非0时为真则返回为真。
    [ -u FILE ] 如果 FILE 存在且设置了SUID位时返回为真。
    [ -w FILE ] 如果 FILE 存在且是可写的则返回为真。(一个目录为了它的内容被访问必然是可执行的)
    [ -x FILE ] 如果 FILE 存在且是可执行的则返回为真。
    [ -O FILE ] 如果 FILE 存在且属有效用户ID则返回为真。
    [ -G FILE ] 如果 FILE 存在且默认组为当前组则返回为真。(只检查系统默认组)
    [ -L FILE ] 如果 FILE 存在且是一个符号连接则返回为真。 
    [ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则返回为真。 
    [ -S FILE ] 如果 FILE 存在且是一个套接字则返回为真。
    [ FILE1 -nt FILE2 ] 如果 FILE1 比 FILE2 新, 或者 FILE1 存在但是 FILE2 不存在则返回为真。 
    [ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 老, 或者 FILE2 存在但是 FILE1 不存在则返回为真。
    [ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则返回为真。

    字符串判断

    [ -z STRING ]    如果STRING的长度为零则返回为真,即空是真
    [ -n STRING ]    如果STRING的长度非零则返回为真,即非空是真
    [ STRING1 ]    如果字符串不为空则返回为真,与-n类似
    [ STRING1 == STRING2 ]   如果两个字符串相同则返回为真
    [ STRING1 != STRING2 ]    如果字符串不相同则返回为真
    [ STRING1 < STRING2 ]     如果 “STRING1”字典排序在“STRING2”前面则返回为真。 
    [ STRING1 > STRING2 ]     如果 “STRING1”字典排序在“STRING2”后面则返回为真。 

    数值判断

    [ INT1 -eq INT2 ]          INT1和INT2两数相等返回为真 ,=
    [ INT1 -ne INT2 ]          INT1和INT2两数不等返回为真 ,<>
    [ INT1 -gt INT2 ]           INT1大于INT2返回为真 ,>
    [ INT1 -ge INT2 ]          INT1大于等于INT2返回为真,>=
    [ INT1 -lt INT2 ]            INT1小于INT2返回为真 ,<
    [ INT1 -le INT2 ]           INT1小于等于INT2返回为真,<=

    逻辑判断

    [ ! EXPR ]       逻辑非,如果 EXPR 是false则返回为真。
    [ EXPR1 -a EXPR2 ]      逻辑与,如果 EXPR1 and EXPR2 全真则返回为真。
    [ EXPR1 -o EXPR2 ]      逻辑或,如果 EXPR1 或者 EXPR2 为真则返回为真。
    [  ] || [  ]           用OR来合并两个条件
    [  ] && [  ]        用AND来合并两个条件

    其他判断
    [ -t FD ]  如果文件描述符 FD (默认值为1)打开且指向一个终端则返回为真
    [ -o optionname ]  如果shell选项optionname开启则返回为真


    IF高级特性:
    双圆括号((  )):表示数学表达式
        在判断命令中只允许在比较中进行简单的算术操作,而双圆括号提供更多的数学符号,而且在双圆括号里面的'>','<'号不需要转意。

    双方括号[[  ]]:表示高级字符串处理函数
        双方括号中判断命令使用标准的字符串比较,还可以使用匹配模式,从而定义与字符串相匹配的正则表达式。

    双括号的作用:
    在shell中,[ $a != 1 || $b = 2 ]是不允许出,要用[ $a != 1 ] || [ $b = 2 ],而双括号就可以解决这个问题的,[[ $a != 1 || $b = 2 ]]。又比如这个[ "$a" -lt "$b" ],也可以改成双括号的形式(("$a" < "$b"))


    实例
    1:判断目录$doiido是否存在,若不存在,则新建一个
    if [ ! -d "$doiido"]; then
      mkdir "$doiido"
    fi

    2:判断普通文件$doiido是否存,若不存在,则新建一个
    if [ ! -f "$doiido" ]; then
      touch "$doiido"
    fi

    3:判断$doiido是否存在并且是否具有可执行权限
    if [ ! -x "$doiido"]; then
      mkdir "$doiido"
        chmod +x "$doiido"
    fi

    4:是判断变量$doiido是否有值
    if [ ! -n "$doiido" ]; then
      echo "$doiido is empty"
      exit 0
    fi

    5:两个变量判断是否相等
    if [ "$var1" = "$var2" ]; then
      echo '$var1 eq $var2'
    else
      echo '$var1 not eq $var2'
    fi

    6:测试退出状态:
    if [ $? -eq 0 ];then
        echo 'That is ok'
    fi

    7:数值的比较:
    if [ "$num" -gt "150" ]
        echo "$num is biger than 150"
    fi

    8:a>b且a<c
    (( a > b )) && (( a < c ))
    [[ $a > $b ]] && [[ $a < $c ]]
    [ $a -gt $b -a $a -lt $c ]

    9:a>b或a<c
    (( a > b )) || (( a < c ))
    [[ $a > $b ]] || [[ $a < $c ]]
    [ $a -gt $b -o $a -lt $c ]

    10:检测执行脚本的用户
    if [ "$(whoami)" != 'root' ]; then
        echo "You have no permission to run $0 as non-root user."
        exit 1;
    fi
    上面的语句也可以使用以下的精简语句
    [ "$(whoami)" != 'root' ] && ( echo "You have no permission to run $0 as non-root user."; exit 1 )

    11:正则表达式
    doiido="hero"
    if [[ "$doiido" == h* ]];then 
        echo "hello,hero"
    fi


    ============其他例子============
    1、查看当前操作系统类型
    #!/bin/sh
    SYSTEM=`uname -s`
    if [ $SYSTEM = "Linux" ] ; then
        echo "Linux"
    elif [ $SYSTEM = "FreeBSD" ] ; then
        echo "FreeBSD"
    elif [ $SYSTEM = "Solaris" ] ; then
        echo "Solaris"
    else
        echo "What?"
    fi

    2、if利用read传参判断
    #!/bin/bash
    read -p "please input a score:" score
    echo -e "your score [$score] is judging by sys now"

    if [ "$score" -ge "0" ]&&[ "$score" -lt "60" ];then
        echo "sorry,you are lost!"
    elif [ "$score" -ge "60" ]&&[ "$score" -lt "85" ];then
        echo "just soso!"
    elif [ "$score" -le "100" ]&&[ "$score" -ge "85" ];then
        echo "good job!"
    else
        echo "input score is wrong , the range is [0-100]!"
    fi

    3、判断文件是否存在
    #!/bin/sh
    today=`date -d yesterday +%y%m%d`
    file="apache_$today.tar.gz"
    cd /home/chenshuo/shell
    if [ -f "$file" ];then
        echo "OK"
    else
        echo "error $file" >error.log
        mail -s "fail backup from test" loveyasxn924@126.com <error.log
    fi

    4、这个脚本在每个星期天由cron来执行。如果星期的数是偶数,他就提醒你把垃圾箱清理:
    #!/bin/bash
    WEEKOFFSET=$[ $(date +"%V") % 2 ]

    if [ $WEEKOFFSET -eq "0" ]; then
        echo "Sunday evening, put out the garbage cans." | mail -s "Garbage cans out" your@your_domain.org
    fi

    5、挂载硬盘脚本(windows下的ntfs格式硬盘)
    #! /bin/sh
    dir_d=/media/disk_d
    dir_e=/media/disk_e
    dir_f=/media/disk_f

    a=`ls $dir_d | wc -l`
    b=`ls $dir_e | wc -l`
    c=`ls $dir_f | wc -l`

    echo "checking disk_d..."
    if [ $a -eq 0 ]; then
      echo "disk_d is not exsit,now creating..."
      sudo mount -t ntfs /dev/disk/by-label/software /media/disk_d
    else
      echo "disk_d exits"
    fi

    echo "checking disk_e..."
    if [ $b -eq 0 ]; then
      echo "disk_e is not exsit,now creating..."
      sudo mount -t ntfs /dev/disk/by-label/elitor /media/disk_e
    else
      echo "disk_e exits"
    fi

    echo "checking disk_f..."
    if [ $c -eq 0 ]; then
      echo "disk_f is not exsit,now creating..."
      sudo mount -t ntfs /dev/disk/by-label/work /media/disk_f
    else
      echo "disk_f exits"
    fi

    --------------------- 
    参考:https://blog.csdn.net/doiido/article/details/43966819 
     

    展开全文
  • Linux系统中的shell脚本-——if判断语句 1.格式 2.条件判断相关参数:文件类型判断 实验操作如下: 判断软链接时,如果链接的文件 不存在,-L并不能检测出来。解决方案: 先用-e判断链接的文件是否有效...

    Linux系统中的shell脚本-——if判断语句

    1.格式

    2.条件判断相关参数:文件类型判断

    实验操作如下:

             判断软链接时,如果链接的文件 不存在,-L并不能检测出来。解决方案: 先用-e判断链接的文件是否有效(存在?), 然后判断是否是一个软链接。

    3.条件判断相关参数:文件权限判断

    4.条件判断相关参数:新旧参数判断

     注意:这里的新旧指的是文件最后一次修改的时间。

    实验如下:

    5.条件判断相关参数:判断整数

    6.条件判断相关参数:判断字符串

    7.多重条件判断

    应用实例:

    1. 根据当前登录用户uid判断是否为超级用户?提示:uid=0代表超级用户
    1-1). 如果不是超级用户,则输出”the user is not root”
    1-2). 如果是超级用户输出”the user is root”,否则输出”the user is not root”


    2. 使用类C风格的语法进行编写shell脚本
    拓展: 类C风格的数值比较规则
    • ((表达式))
    • =表示赋值
    • ==表示判断数值是否相等
    3. 用户输入云服务器相关信息(主机名),判断主机名输入是否合法?

    8.流程控制语句

    应用案例1:主机连通性判断

    shell编程如下:

    #!/bin/bash
     11 ip=$*
     12 [ -z $ip ] && {
     13         echo "ERROR Please input ip"
     14         exit
     15 }
     16 ping -c 1 $ip &> /dev/null
     17 if [ $? -eq 0 ];then
     18         echo ping $ip is ok
     19 else
     20         echo ping $ip failed
     21 fi

     

    shell编程如下:

    拓展知识:pgrep命令:以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
    ● 选项
    ● -o:仅显示找到的最小(起始)进程号;
    ● -n:仅显示找到的最大(结束)进程号;
    ● -l:显示进程名称;
    ● -P:指定父进程号;pgrep -p 4764 查看父进程下的子进程id
    ● -g:指定进程组;
    ● -t:指定开启进程的终端;
    ● -u:指定进程的有效用户ID。

    1 #!/usr/bin/bash
      2 name=$*
      3 pgrep $name &> /dev/null
      4 if [ $? -eq 0 ];then
      5         echo "$name process exists"
      6 else
      7         echo "$name process not exists"
      8 fi


    10 #!/bin/bash
     11 read -p "please input a username:" username
     12 id $username
     13 if [ $? -eq 0 ];then
     14         echo "username $username is exist"
     15         else
     16                 echo "username $username is not exist"
     17         fi


    4.shell 编程语句如下

    10 #!/bin/bash
     11 rpm -q $* &> /dev/null
     12 if [ $? -eq 0 ];then
     13         echo "This package $* is installed"
     14 else
     15         echo "ERROR:please install $* package"
     16         dnf install $*
     17 fi


    5.shell 编程语句如下

     

    展开全文
  • Linux shell if 语句无法识别命令 这两天看了一些shell编程的东西,在按照书上的代码编写运行的时候出现了意想不到的错误,明明很简单的if else语句硬是搞了一天才搞明白! shell 版本:bash 5.0 + vi文本编辑器 ...

    Linux shell if 语句无法识别命令

    这两天看了一些shell编程的东西,在按照书上的代码编写运行的时候出现了意想不到的错误,明明很简单的if else语句硬是搞了一天才搞明白!

    shell 版本:bash 5.0 + vi文本编辑器

    这里先给出正确的代码!脚本命名为test.sh

    #!/bin/bash
    # 
    #set -x
    echo -n "are you a student?"
    read answer
    if [ $answer = Y ]
      then
        echo "Yes, I'm a student!"
      else
        echo "No, I'm a teacher!"
    fi
    exit 0
    

    主要错误就是脚本格式的问题!
    1、if与方括号之间需要存在空格;
    2、方括号中的内容与方括号之间是需要存在空格的;
    3、等号两端需要空格。

    ==与=是等价的!

    如有其他疑问也可以一起交流!

    展开全文
  • 1.for语句实验: <1>新建一个脚本,正序输出1~10 [root@shenzhen linux]# vim file.sh [root@shenzhen linux]# sh file.sh 脚本中的内容如下: #!/bin/bash for i in {1..10} do echo $i done 或者也...
  • shell脚本中,这些判断语句一般都是和if、else、elif、for和while等语句一起使用。 在脚本编写中,条件判断语句常常用于多种情况的判断,符合哪一种情况就执行哪一种的命令。 二、shell条件判断语句if 1、流程...
  • 这是之前写的if语句,运行结果有错误这是运行结果 (if语句编写有误) 修改: 这是修改之后的语句运行还是有错误 问题是没有空格,要将字母之间打上空格 再次修改: 运行成功! ...
  • 文章目录前言多分支语句的语法多分支语句举例:1. 出嫁的条件2.... 猜数字游戏v1版本-if版本总结 ...【Linuxshell脚本实战-if单双分支条件语句详解 多分支语句的语法 语法结构: if条件测试操作1 ; the
  • if语句结构[if/then/elif/else/fi] 代码如下:if 条件测试语句 then action [elif 条件 action else action ] fi如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解shell命令,...
  • 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: 代码如下: if condition then  command1  command2  …  commandN fi 当然,也可以写成一行(适用于终端命令提示符),像...
  • linux系统中Shell脚本可以批量处理,自动化地完成一系列的维护任务 Shell脚本就是要将执行的命令按“顺序”保存到一个文本文件中后缀为“.sh”,并给文件“x”权限,方便一次性执行的一个程序文件 Shell编程规范...
  • shellif语句,循环语句

    万次阅读 2018-12-25 22:04:11
    1.if语句 if单分支语句 统计登录shell为bash的用户 if双分支语句 统计uid小于等于500和大于500的用户个数 if-else语句 [root@localhost mnt]# vim if-else.sh #!/bin/bash read -p &...
  • Linux Shell脚本语句执行失败,后续语句继续执行的问题问题解决方法 问题 写了一个自动部署java后端的脚本,大致如下: A=password read -p "请输入密码:" PASSWD if [ "$PASSWD" == "$A" ] then echo "密码正确!...
  • Linuxshell 脚本if判断多个条件

    千次阅读 2020-07-04 18:37:26
    if (( a > b )) && (( a < c )) 或者 if [[ $a > $b ]] && [[ $a < $c ]] 或者 if [ $a -gt $b -a $a -lt $c ] 2.如果a>b或a<c if (( a > b )) || (( a < c )) 或者 ...
  • 先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西。 代码如下: #!/bin/sh echo “please input text1” read text1 echo “please input text2” read text2 #判断字符串等...
  • 判断一个文件是文件还是目录时写了一个脚本 #!/bin/sh for i in * do if[-f i];thenecho"i];then echo "i];thenecho"i is a file" else echo “$i is a directory” fi done 老是出错,百度后 原因: 条件语句 [ ]...
  • Linux Shellif条件判断语句

    千次阅读 2019-04-08 12:49:17
    if条件判断语句Shell自动化运维脚本的开发中至关重要,利用条件判断可实现对象(文件、目录)的类型、状态、属性判断,数值比较、字符串比较以及更加复杂的逻辑。 if条件判断的基本语法是: if [ command ];then ...
  • 注意一下前后有没有加空格 即是 if [空格 xxx 空格] 这种形式 碰到这个问题搞了好久才发现是这个原因~~
  • Linuxshell脚本实战-if单双分支条件语句详解

    千次阅读 热门讨论 2020-08-05 22:05:31
    文章目录if单分支1. 单分支语法分析2. 单分支语法规范3. if单分支脚本举例a. 检查是否为超级用户b. 找一个金钱大于1000000的结婚c. 判断文件是否为普通文件d....if语句流程图: 1. 单分支语法分析 第一种语法: if
  • linux shell编程if语句内判断参数详解 主要讲了 shll中if语句里可用参数,非常详细
  • 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一、for语句  格式: for 变量 in 列表;do 语句1; 语句2; … done 例1、写一个脚本,添加10个用户,并让每个用户的密码同用户名】 代码...
  • 关于Linux shell脚本中的 if语句判断不起作用的问题笔者的代码如下: 1 #!/bin/sh 2 # 3 a=10 4 b=20 5 if [ $a=$b ]; 6 then 7 echo "a=b" 8 fi 9 10 if [ $a != $b ]; 11 then 12 echo "a!=b" 13 fi ...
  • If [ $a = $b ] 如果string1等于string2 (字符串允许使用赋值号做等号) if [ $string1 != $string2 ] 如果string1不等于string2  if [ -n $string ] 如果string 非空(非0),返回0(true)...
  • 以下代码表示,判断目录是否存在,若存在则结束条件判断和整个shell脚本,若不存在,则创建这个目录。 ``` $DIR="/media/cdrom" if [ ! -e $DIR] then mkdir -p $DIR fi ``` 疑问:按照4.2.3章节的内容,将!...
  • shell 脚本单行 if 语句

    千次阅读 2019-09-02 22:07:11
    如下: "NUM=`docker images | grep '<... if [ $NUM -gt 0 ]; then docker rmi `docker images | grep '<none>' | awk '{print \$3}'`; fi" 其命令的作用是,判断是否有 none 镜像,如果有则批量删除。 ...
  • shell中的if语句需要做一个正则判断,查了一下语法记录之。 DATEPATTERN=^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$ if [[ $STARTDATE =~ $DATEPATTERN ]] && [[ $ENDDATE =~ $DATEPATTERN ]]; then : else echo date ...
  • 设计一个提示用户选择菜单,根据用户选择进行操作和显示。 菜单:1 启动vi 编辑器 2 启动x-windows ,进入图形界面 3.启动后台打印进程,4 提示退出ctrl +c ...#filename:qiantao //命名脚本文件名 echo “...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,709
精华内容 18,283
关键字:

linuxshell脚本if语句

linux 订阅