精华内容
下载资源
问答
  • Linux Shell 判断环境变量 是否存在

    千次阅读 2017-03-16 08:10:02
    #!/bin/bash if [ 0"$PATH" = "0" ]; then echo "not found" ...比如这里判断环境变量PATH是否存在,存在这输出该环境变量,不存在则输出 not found 作者:jiankunking 出处:http://blog.csdn.net/jiankunking
    #!/bin/bash
    if [ 0"$PATH" = "0" ]; then
        echo "not found"
    else 
        echo $PATH
    fi
    

    比如这里判断环境变量PATH是否存在,存在这输出该环境变量,不存在则输出 not found

    这里写图片描述

    在方括号的两侧都有空格,在-f、-lt、=等符号两侧同样也有空格。如果没有这些空格,Shell解释脚本的时候就会出错。

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking

    展开全文
  • 判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then  echo "IS NULL" else  echo "NOT NULL" fi  然后...
    判断一个脚本中的变量是否为空,我写了一个这样的shell脚本:
    1. #!/bin/sh
    2. #filename: test.sh
    3. para1=
    4. if [ ! -n $para1 ]; then
    5.   echo "IS NULL"
    6. else
    7.   echo "NOT NULL"
    8. fi 

    然后把该脚本:test.sh通过chmod +x 改为可以执行的脚本,执行后输出的结果为: NOT NULL,很是奇怪,最后,通过查询一些资料发现,可以通过如下方式判断一个shell变量是否为空:

    1. 变量通过" "引号引起来

           如下所示:,可以得到结果为 IS NULL.

    1. #!/bin/sh
    2. para1=
    3. if [ ! -n "$para1" ]; then
    4.   echo "IS NULL"
    5. else
    6.   echo "NOT NULL"
    7. fi 

    2. 直接通过变量判断

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

    1. #!/bin/sh
    2. para1=
    3. if [ ! $para1 ]; then
    4.   echo "IS NULL"
    5. else
    6.   echo "NOT NULL"
    7. fi 

    3. 使用test判断

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

    1. #!/bin/sh
    2. dmin=
    3. if test -z "$dmin"
    4. then
    5.   echo "dmin is not set!"
    6. else  
    7.   echo "dmin is set !"
    8. fi

     

    4. 使用""判断

    1. #!/bin/sh 
    2. dmin=
    3. if [ "$dmin" = "" ]
    4. then
    5.   echo "dmin is not set!"
    6. else  
    7.   echo "dmin is set !"
    8. fi
    展开全文
  • 1.判断变量read -p "input a word :" wordif [ ! -n "$word" ] ;then echo "you have not input a word!"else echo "the word you input is $word"fi2.判断输入参数#!/bin/bashif [ ! -n "$1" ] ;then echo "you ...
    1.判断变量read -p "input a word :" wordif [ ! -n "$word" ] ;then echo "you have not input a word!"else echo "the word you input is $word"fi2.判断输入参数#!/bin/bashif [ ! -n "$1" ] ;then echo "you have not input a word!"else echo "the word you input is $1"fi3.直接通过变量判断
     如下所示:得到的结果为: IS NULL#!/bin/shpara1=if [ ! $para1 ]; then echo "IS NULL"else echo "NOT NULL"fi 4.使用test判断 得到的结果就是: dmin is not set! #!/bin/shdmin=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
    
    展开全文
  • 对于 if 条件语句里所有的字符串的比较时,最好是在变量的外面加上双引号。特别是 if -n 判断字符串是否null时候(null意思就是字符串长度0),一定要加上双引号。

    今天使用shell里面的判断输入变量$1是否为空的时候,判断为空的表达式失效,如下

    if [ -n $1 ]
    then
    ...
    else
    ...
    fi
    结果无论是否输入参数都是$1非空,最后和别人代码仔细核对发现变量要用双引号括起来,改成如下


    if [ -n "$1" ]
    then
    ...
    else
    ...
    fi

    就可以了,但是用echo ${#$1}长度确实是0,想不通为什么,等以后弄清楚了再来更新这个博文吧。

    ===============================================================================================================

    2017.06.19更新转载:http://blog.csdn.net/nodeathphoenix/article/details/8989576

    Shell  变量用双引号引起来,双引号就是表示这个双引号内为一个字符串。

    对于 if 条件语句里所有的字符串的比较时,最好是在变量的外面加上双引号。特别是 if -n 判断字符串是否为null时候(null意思就是字符串长度为0),一定要加上双引号。否则,像下面的case就会出错。

    a=""

    if [ -n $a ] 等价于 if[ -n ]

    对于字符串长度为0时,相当于没有参数,这句总返回为真。明明a的为空串,长度为空,但是却判断出来为非空字符串。

    改为if [ -n "$a" ]就没有此问题,可以判断出来为此为空字符串。

     

    对于字符串的变量,一个比较特殊的情况,就是数组变量。这个时候变量外面不能用双引号,否则的话,shell会把双引号里的内容当作一个字符串,而不会去以空格分割里面的内容。

    arr="12 3 4 5"

    for i in $arr  ---当数组用,所以不能加双引号

    do

      echo $i

    done

     

    结果:

    1

    2

    3

    4

    5

     

    arr="12 3 4 5"

    for i in "$arr" --加了双引号,就会将$arr的内容作为一个字符串一起输出

    do

      echo $i

    done

    结果:

    1 2 3 4 5

     

    所以,一般最好是加上双引号, 但是对于数组类型变量,不加双引号。


    展开全文
  • linux bash shell 判断变量是否在列表中

    千次阅读 2020-03-31 12:19:24
    双中括号[[]]是bash shell中的关键词,相对于[]有以下特点和优势: [[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。 支持字符串的模式...
  • shell判断变量是否数字

    千次阅读 2018-09-07 17:38:55
    shell判断变量是否数字 方法一、测试相加是否成功 expr $a+0 &>/dev/null RETVAL=$? test $RETVAL  -eq 0 {echo "number"  exit 1 }   方法二、将数字全部用...
  • linux shell 判断空字符串的几种方法!
  • 1、判断字符串为空 if [ -z "$str" ]; then  echo "empty string" fi 2、判断文件是否存在 if [ -f /home/builder/.profile ]; then  echo "File exists;" fi -----------------------------------------
  • linux shell 使用变量和环境变量

    千次阅读 2018-12-08 13:23:41
    1. 使用env或printenv命令查看当前shell中定义的全部环境变量 2. 查看进程相关环境变量。首先根据进程名获取进程ID: ps -ef | grep sshd  ># root 1795 1 0 11:55 ? 00:00:00 /usr/sbin/sshd -D  ...
  • Linux Shell变量

    千次阅读 2012-02-21 21:58:01
    转自:...其中用户变量在编程过程中使用最多,系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置。 1 系统变量 Shell常用的系
  • bash shell 判断环境变量不存在/为空 ...判断环境变量为空或者不存在(可以判断普通变量,但是区分不了不存在和值为空) if test -z "$VARNAME";then echo "VARNAME is null string or VARNAME not
  • 先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果,如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。 这个方法充分利用了grep 的特性,最为简洁。
  • shell 判断变量类型的几种方法

    万次阅读 2019-02-13 15:09:54
    shell 判断变量类型的几种方法 方法一 脚本如下 #!/usr/bin/env bash function check(){ local a="$1" printf "%d" "$a" &>/dev/null && echo &...
  • 本文内容:判断用户输入的参数是否数字 在shell中如何进行计算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng scripts]# expr 2 + 3 5 [root@XiaoPeng scripts]# 注意:使用...
  • shell判断变量值的方法

    千次阅读 2016-12-12 12:26:10
    shell编程中有时候需要判断某个变量是否存在,若...此处首先设置变量username的值,若变量不存在则使用username=${username:-root}进行设置,加上冒号后表示若变量内容为空或者是未设置时,可以使用后面的内容替换。
  • linux shell判断文件,目录是否存在或者具有权限
  • shell判断变量为null

    千次阅读 2012-09-11 20:57:57
    shell判断变量为null 方法一:   if [ $x ];then echo 'not null' else echo 'is null' fi   方法二:   if [ -z "$x" ]; echo 'is null' else echo 'not null' fi ...
  • Linux shell case条件判断及位置变量

    千次阅读 2019-03-20 21:03:56
    case语句使用于需要进行多重分支的应用情况 case分支判断结构 语法: case 变量名称 in value1) statement statement ;; value2) statement statement ;; *) st...
  • Linux Shell 变量自加

    千次阅读 2017-11-21 11:02:13
    Linux Shell中写循环时,常常要用到变量的自增,现在总结一下整型变量自增的方法。 我所知道的,bash中,目前有五种方法: 1. i=`expr $i + 1`; 2. let i+=1; 3. ((i++)); 4. i=$[$i+1]; 5. i=$(( $i
  • linux shell获取环境变量运算

    千次阅读 2018-12-09 22:11:23
    很多shell运算需要获取环境变量,例如a+b,其中a或者b可能都来自于环境变量。但是环境变量可能出现不存在的情况,这时运算就会出错。 所以在计算前需要判断其是否存在 [ -z $test ] 更复杂的 i ...
  • Shell判断变量值是否存在

    万次阅读 2019-08-06 16:38:03
    ip=$(ip addr|sed -nr 's#^.*inet (.*)/24.*$#\1#gp') if [ ! $ip ];then echo "not ok" else echo "ok" fi
  • shell判断变量内容里包含特定字符串shell [ “$str” =~ “IEEE80211” ] && echo “it contains IEEE80211” nicephil@gmail.com 2017-5-11 转载于:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,582
精华内容 25,832
关键字:

linuxshell判断变量为空

linux 订阅