精华内容
下载资源
问答
  • 1.判断变量复制代码 代码如下:read -p "input a word :" wordif [ ! -n "$word" ] ;thenecho "you have not input a word!...判断输入参数复制代码 代码如下:#!/bin/bashif [ ! -n "$1" ] ;thenecho ...

    1.判断变量

    复制代码 代码如下:

    read -p "input a word :" word

    if  [ ! -n "$word" ] ;then

    echo "you have not input a word!"

    else

    echo "the word you input is $word"

    fi

    2.判断输入参数

    复制代码 代码如下:

    #!/bin/bash

    if [ ! -n "$1" ] ;then

    echo "you have not input a word!"

    else

    echo "the word you input is $1"

    fi

    以下未验证。

    3. 直接通过变量判断

    如下所示:得到的结果为: IS NULL

    复制代码 代码如下:

    #!/bin/sh

    para1=

    if [ ! $para1 ]; then

    echo "IS NULL"

    else

    echo "NOT NULL"

    fi

    4. 使用test判断

    得到的结果就是: dmin is not set!

    复制代码 代码如下:

    #!/bin/sh

    dmin=

    if test -z "$dmin"

    then

    echo "dmin is not set!"

    else

    echo "dmin is set !"

    fi

    5. 使用""判断

    复制代码 代码如下:

    #!/bin/sh

    dmin=

    if [ "$dmin" = "" ]

    then

    echo "dmin is not set!"

    else

    echo "dmin is set !"

    fi

    下面是我在某项目中写的一点脚本代码, 用在系统启动时:

    复制代码 代码如下:

    #! /bin/bash

    echo "Input Param Is [$1]"

    if [ ! -n "$1" ] ;then

    echo "you have not input a null word!"

    ./app1;./app12;./app123

    elif [ $1 -eq 2 ];then

    ./app12;./app123

    elif [ $1 -eq 90 ];then

    echo "yy";

    fi

    展开全文
  • #用法:Usag: [参数列表]# checknum.sh#检测参数个数是否合法if test $# -lt 1 #当参数个数小于2时,也就是没有整数输入,报错。then echo "参数错误,使用方法:checknum n1 n2 n3... (一个参数序列)。"exit 1 ...

    #!/bin/sh

    #这个脚本用来判断后面的参数的种类(非数字,奇数,偶数,浮点数)。

    #用法:Usag: [参数列表]

    # checknum.sh

    #检测参数个数是否合法

    if test $# -lt 1     #当参数个数小于2时,也就是没有整数输入,报错。

    then echo "参数错误,使用方法:checknum n1 n2 n3... (一个参数序列)。"

    exit 1               #直接退出

    fi

    #判断参数种类

    forstr in $*         #用一个临时变量str,从参数列表中依次次取出各个参数。

    do

    {

    #将取出的参数传给程序bc,用它来检测这个参数是否为数字,并将错误信息重定向。

    var=$(echo$str | bc 2>/dev/null)

    #如果传入的参数是一个数字,bc返回值就是这个数,否则不是,通过这个可以判断参数是否为数字。

    if ["$var" != "$str" ] #如果bc返回值与这个参数相同,则参数一定是数字,反之则不是。

    then {

    echo "$str 不是一个数字。"

    }

    #如果参数是数字,则只需要查找是否含有小数点来判断是否为浮点数。

    elif echo $str|grep "\." >/dev/null 2>&1

    then {

    echo "$str 是一个浮点数。"

    }

    else {

    #如果这个参数是一个整数,将他模2,余数为0则是偶数,为1则为奇数。

    if test `expr $str % 2` -eq 0

    then echo "$str 是一个偶数。"

    else echo "$str 是一个奇数。"

    fi

    }

    fi

    }

    done

    exit

    展开全文
  • 如果参数的第一个参数长度0.结果返回true,否则返回false -z “$1” 如果参数的第一个参数长度0.结果返回false,否则返回true [ $? -eq 0 ] 是判断if语句的上一个命令执行如果成功就执行if中的语句,注意:...

    1.参数说明

    参数说明
    -n “$1”如果参数的第一个参数长度为0.结果返回true,否则返回false
    -z “$1”如果参数的第一个参数长度为0.结果返回false,否则返回true
    [ $? -eq 0 ]是判断if语句的上一个命令执行如果成功就执行if中的语句,注意:使用时要注意,if后面的中括号[ $? -eq 0 ],括号的两边需要有一个空格
    >/dev/null将标准输出到了 /dev/null
    2>&1表示标准错误,重定向到标准输入
    >> 1.log将标准输出,追加到gmvHisDataProcess_$(date +%Y%m).log中
    
    #!/bin/bash
    
    #set java env
    export JAVA_HOME=/opt/jdk/jdk1.8.0_111
    export PATH=${JAVA_HOME}/bin:$PATH
    export CLASSPATH=.:${JAVA_HOME}/lib.tools.jar
    
    # 定义作业目录变量,日志目录变量,作业开始天和结束天
    JOB_HOME=/opt/kettle/repository/gmv
    LOG_PATH=/opt/kettle/log
    
    if [ -n "$1" ] && [ -n "$2" ]
    then
            startDate=$1
            finishDate=$2
    elif [ -z "$1" ] && [ -z "$2" ]
    then
            startDate=`date -d'1 day ago' +'%Y-%m-%d'`
            finishDate=`date -d'1 day ago' +'%Y-%m-%d'`
    else
            exit
    fi
    
    #重刷历史订单退款数据 (即重刷base_order_goods和base_order_refund)
    nohup /opt/kettle/data-integration/kitchen.sh -file=${JOB_HOME}/his/main.kjb -param:startDate="${startDate}" -param:finishDate="${finishDate}" -param:JOB_HOME="${JOB_HOME}" -level=Error >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log
    
    #重刷历史gmv数据 (即重刷base_daily_sales_report和base_gmv_trend)
    if [ $? -eq 0 ]
    then
            echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisData_$(date +%Y%m).log
            java -jar ${JOB_HOME}/jar/gmvHisDataProcess.jar  "${startDate}"  "${finishDate}"  >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log 2>&1  &&  echo "===结束时间:$(date '+%Y-%m-%d %H:%M:%S')===" >> ${LOG_PATH}/gmvHisDataProcess_$(date +%Y%m).log
    fi
    
    展开全文
  • shell 是操作系统的最外层。...shell中如何判断一个变量是否为空的方法探讨,shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下:1.变量通过” “引号引起来#!/b...

    shell 是操作系统的最外层。shell 合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。

    shell中如何判断一个变量是否为空的方法探讨,shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下:

    1.变量通过” “引号引起来

    #!/bin/sh

    para1=

    if [ ! -n "$para1" ]; then

    echo "IS NULL"

    else

    echo "NOT NULL"

    fi

    "IS NULL"

    2.直接通过变量判断

    #!/bin/sh

    para1=

    if [ ! $para1 ]; then

    echo "IS NULL"

    else

    echo "NOT NULL"

    fi

    "IS NULL"

    3.使用test判断

    #!/bin/sh

    dmin=

    if test -z "$dmin"

    then

    echo "dmin is not set!"

    else

    echo "dmin is set !"

    fi

    "dmin is not set!"

    4.使用””判断

    #!/bin/sh

    dmin=

    if [ "$dmin" = "" ]

    then

    echo "dmin is not set!"

    else

    echo "dmin is set !"

    fi

    "dmin is not set!"

    展开全文
  • 判断一个脚本中的变量是否为空,我写了一个这样的shell脚本:#!/bin/sh#filename: test.shpara1=if[ ! -n $para1 ]; thenecho"IS NULL"elseecho"NOT NULL"fi然后把该脚本:test.sh通过chmod +x 改可以执行的脚本,...
  • shell 判断文件/目录是否为空jfkidear144932015-01-15shell中如何判断一个变量是否为空l_nan365492014-07-14在shell中如何判断一个变量是否为空varyall188622018-01-23linux bash shell 判断目录是否为空的函数10km...
  • 判断变量read -p "input a word :" wordif [ ! -n "$word" ] ;thenecho "you have not ..."elseecho "the word you input is $word"fi判断输入参数#!/bin/bashif [ ! -n "$1" ] ;thenecho "you have not input a wo...
  • 判断一个脚本中的变量是否为空,我写了一个这样的shell脚本:1.2. #!/bin/sh3. #filename: test.sh4. para1=5. if [ ! -n $para1 ]; then6. echo "IS NULL"7. else8. echo "NOT NULL"9. fi10.然后把该脚本:test.sh...
  • 判断一个字符串是否为空的方法: 方法一: if [ "$str" = "" ] #如果str是字符串则返回真 方法二: if [ x"$str" = x ] #如果...还可以使用 if 与 test 命令的 z 参数,可以判断字符串是否为空 if test -z $str
  • help命令可以查看帮助help testLinux 下判断字符串是否为空,有一个大坑!首先想到的两个参数:-z :判断 string 是否是空串-n :判断 string 是否是非空串正确做法:#!/bin/shSTRING=if [ -z "$STRING" ]; thenecho...
  • shell判断是否为空

    2021-06-08 10:58:48
    shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过" "引号引起来 1 2 3 4 5 6 7 #!/bin/sh para1= ...
  • 我需要检查输入参数的存在性。我有下面的剧本if ["$1" -gt"-1" ]then echo hifi我得到[: : integer expression expected如何首先检查输入参数1以查看它是否存在?...或者,您可以检查参数是否为空字符串或类似...
  • Linux fgetcsv取得的数组元素为空字符串的解决方法但服务器上,很多使用Linux服务器,源程序使用UTF-8,这样很容易产生字符编码的问题.如果仅仅将CSV文件转码UTF-8,这样在Windows服务器上没有问题,而在RedHat5.5上,用...
  • JS判断输入框的值是否为空var oTxt = document.getElementById('txt');var oBtn = document.getElementById('btn');function isnull(val) {var str = val.replace(/(^\s*)|(\s*$)/g, '');//去除空格;if (str == '' |...
  • 文中通过示例代码介绍的非常详细,对大家学习或者使用linux shell具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧shell判断字符串为空的方法Linux 下判断字符串是否为空,可以使用两个参数:● -z :判断...
  • 文中通过示例代码介绍的非常详细,对大家学习或者使用linux shell具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧shell判断字符串为空的方法Linux 下判断字符串是否为空,可以使用两个参数:● -z :判断...
  • 1.脚本功能:提示客户属于一串数字,并判断用户是否进行了输入,输入的是否为数字#!/bin/bashread -p "enter a number: " number #提示用户输入数字if [ -z $number ];then #判断用户是否输入,如果未输入则打印...
  • d 当pathname存在并且是一个目录时返回真-e 当pathname指定的文件或目录存在时返回真-f 当file存在并且是正规文件时返回真-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回真-h 当file存在并且是符号...
  • php中经典方法实现判断多维数组是否为空复制代码 代码如下://判断一个数组是否为空/**array(); array(array(),array(),array()); array(array(),array(array(),array(1=>1)),array()); 非 */function is_...
  • 最好避免使用 which,做一个外部的工具,并不一定存在,在发行版之间也会有区别,有的系统的 which 命令不会设置有效的 exit status,存在一定的不确定性。Bash 有提供一些内建命令如 hash、type、command 也能...
  • " fi 说明:if [[ $1 =~ ^[0-9]+$ ]] (1)=~ 运算符就是进行正则表达式判断之用的,左侧的字符串会依右侧的正则表达式做匹配, 若匹配则结果true,不匹配则结果false。 (2)^是开头开头符号,$是结尾符号,+号...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,260
精华内容 26,504
关键字:

shell判断参数是否为空