精华内容
下载资源
问答
  • 其会对跟随的条件进行判断,一般可以分为数值判断、字符串判断和文件判断。语法格式为test [判断条件]或[ 判断条件 ],注意中括号[ ]与判断条件之间必须存在空格,还需注意判断条件的判断符号与比较值之间也需要存在...

    判断命令test一般用于脚本当中,可以简写为中括号[ ]。其会对跟随的条件进行判断,一般可以分为数值判断、字符串判断和文件判断。语法格式为test [判断条件]或[ 判断条件 ],注意中括号[ ]与判断条件之间必须存在空格,还需注意判断条件的判断符号与比较值之间也需要存在空格。

    如果是test单独使用,如果判断条件为真,那么echo $?会返回0,判断条件为假返回1。

    (2)字符串判断

    判断符号说明范例
    =相等则为真[ $a = $b ]
    !=不等则为真[ $a != $b ]
    -z字符串长度为0则为真[ -z $a ]
    -n字符串长度不为0则为真[ -n $n ]
    str1 > str2字符串1大于字符串2则为真[ str1 > str2 ]
    str1 < str2字符串1小于字符串2则为真[ str1 < str2 ]

    操作实例如下:

    [root@youxi1 ~]# vim a.sh
    #!/bin/bash
    read -p "请输入第一个字符串:" str1
    read -p "请输入第二个字符串:" str2
    if [ $str1 = $str2 ] ; then
        echo "两个字符串相同"
    elif [ -n $str1 ] && [ -n $str2 ] ; then
        echo "两个字符串非空"
    fi
    [root@youxi1 ~]# sh a.sh
    请输入第一个字符串:aaa
    请输入第二个字符串:bbb
    两个字符串非空
    

    操作实例2:在做字符串大小比较时,需要注意一下几点:1.字符串的顺序,大于和小于的顺序和sort排序是不一样的;2.大于号和小于号必须转义,要不然会被shell当做重定向符号;3.在test比较测试中,使用的是ASCII表,大写字母小于小写字母

    [root@youxi1 ~]# vim a.sh
    #!/bin/bash
    read -p "请输入第一个字符串:" str1
    read -p "请输入第二个字符串:" str2
    if [ $str1 \> $str2 ] ; then
        echo "第一个字符串大于第二个字符串"
    else
        echo "第一个字符串小于第二个字符串"
    fi
    [root@youxi1 ~]# sh a.sh  //证明比较的不是总和
    请输入第一个字符串:ab
    请输入第二个字符串:ba
    第一个字符串小于第二个字符串
    [root@youxi1 ~]# sh a.sh  //以下两个比较证明,是逐字比较
    请输入第一个字符串:aa
    请输入第二个字符串:ab
    第一个字符串小于第二个字符串
    [root@youxi1 ~]# sh a.sh
    请输入第一个字符串:aa
    请输入第二个字符串:ba
    第一个字符串小于第二个字符串
    
    展开全文
  • linuxlinux shell if 多条件 并行 字符串判断.pdf
  • 判断字符串是不是以另一字符串开始或者结尾 2 代码实现 #include <stdio.h> #include <string.h> /** *判断字符串str是不是以start开始 */ int is_start_with(const char *str, ...

    1 问题

    判断字符串是不是以另一字符串开始或者结尾

     

     

     

     

     

     

     

     

    2 代码实现

    #include <stdio.h>
    #include <string.h>
    
    /**
     *判断是字符串str是不是以start开始
     */
    int is_start_with(const char *str, char *start)
    {
    	if (NULL == str || NULL == start)
    	{
    		return -1;
    	}
    	int str_len = strlen(str);
    	int start_len = strlen(start);
    	if (str_len < start_len || str_len == 0 || start_len == 0)
    	{
    		return -1;
    	}
    	char *p = start;
    	int i = 0;
    	while(*p != '\0')
    	{
    		if (str[i] != *p)
    		{
    			return -1;
    		}
    		++p;
    		++i;
    	}
    	return 0;
    }
    
    /**
     *判断是字符串str是不是以end结束
     */
    int is_end_with(const char *str, char *end)
    {
    	if (NULL == str || NULL == end)
    	{
    		return -1;
    	}
    	int str_len = strlen(str);
    	int end_len = strlen(end);
    	if (str_len < end_len || str_len == 0 || end_len == 0)
    	{
    		return -1;
    	}	
    
    展开全文
  • 计算字符串长度可用的4种方法:  echo “$str”|awk '{print length($0)}'  expr length “$str”  echo “$str”|wc -c  但是第三种得出的值会多1,可能是把结束符也计算在内了    array ...
    计算字符串长度可用的4种方法: 
    
    echo “$str”|awk '{print length($0)}' 
    expr length “$str” 
    echo “$str”|wc -c 
    但是第三种得出的值会多1,可能是把结束符也计算在内了 
     
    array 为数组
    length=${#array[@]} 
    echo $length 可得数组个数


    判断字符串为空的方法有三种: 
    if [ "$str" =  "" ]  
    if [ x"$str" = x ] 
    if [ -z "$str" ] 
    注意:都要代双引号,否则有些命令会报错,养成好习惯吧! 
    展开全文
  • 主要给大家介绍了关于linux shell判断字符串为空的正确方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux shell具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • Linux下Shell判断字符串包含关系

    千次阅读 2020-07-30 15:02:00
    方法一:利用grep查找 ...先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果 如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。 这个方法充分利用了grep 的特性,最

    方法一:利用grep查找

    strA="long string"
    strB="string"
    result=$(echo $strA | grep "${strB}")
    if [[ "$result" != "" ]]
    then
        echo "包含"
    else
        echo "不包含"
    fi

    先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果

    如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。

    这个方法充分利用了grep 的特性,最为简洁。

    方法二:利用字符串运算符

    strA="helloworld"
    strB="low"
    if [[ $strA =~ $strB ]]
    then
        echo "包含"
    else
        echo "不包含"
    fi

    利用字符串运算符 =~ 直接判断strA是否包含strB。(这不是比第一个方法还要简洁吗摔!)

    方法三:利用通配符

    A="helloworld"
    B="low"
    if [[ $A == *$B* ]]
    then
        echo "包含"
    else
        echo "不包含"
    fi

    这个也很easy,用通配符*号代理strA中非strB的部分,如果结果相等说明包含,反之不包含。

    方法四:利用case in 语句

    thisString="1 2 3 4 5" # 源字符串
    searchString="1 2" # 搜索字符串
    case $thisString in 
        *"$searchString"*) echo Enemy Spot ;;
        *) echo nope ;;
    esa

    这个就比较复杂了,case in 我还没有接触到,不过既然有比较简单的方法何必如此

    方法五:利用替换

    STRING_A=$1
    STRING_B=$2
    if [[ ${STRING_A/${STRING_B}//} == $STRING_A ]]
        then
            ## is not substring.
            echo N
            return 0
        else
            ## is substring.
            echo Y
            return 1
        fi

     

    展开全文
  • linux shell 判断字符串是否为数字.pdf
  • linux c 判断字符串是否是数字.pdf
  • linux shell 判断字符串是否在数组中.pdf
  • Linux if判断字符串是否相等

    万次阅读 2017-04-27 12:59:01
    比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到"$test"x最后的x,这是特意安排的,...
  • 定义了数组或字符指针之后,需要做一个初始化,否则里面将是随机值,以后将无法判断字符串是否为空。 所以,首先要保证字符串初始化为空 memset(str_ptr,'\0',sizeof(LEN*sizeof(char))); 对于已经初始化过的...
  • LINUX 字符串截取及切割

    千次阅读 2019-06-04 08:00:41
    使用Shell完成各种Linux运维任务时,一旦涉及到判断、条件测试等相关操作时,往往需要对相关的命令输出进行过滤,提取出符合要求的字符串。 本案例要求熟悉字符串的常见处理操作,完成以下任务练习: 参考PPT示范...
  • linux shell 判断字符串的几种方法!
  • linux c 判断字符串是否是数字

    千次阅读 2020-01-16 19:32:58
    * @brief Function isdigitstr() 判断传入字符串是否全数字 * @param[in] char *str 字符串 * @retval 1: 全字符串,0:非全字符串 * @pre * @post */ static int isdigitstr(char *str) { return (st...
  • Linux判断空白字符串

    千次阅读 2012-02-29 13:58:02
    用 ctype.h 中定义的 isspace() 函数判断一个字符是否是空白字符,然后用下面的函数判断一个字符串是不是空白字符串 isspace()返回值:  0:非空白字符  非0:空白字符 这里的空白字符(white character)...
  •  今天帮同事调整脚本,涉及到判断一个字符串为非空的,在此记录下. 操作过程: 通过-n来判断字符串是否为非空,如果为非空那么就是真 #!/bin/bash Str1='MyTest' if [[ -n $Str1 ]];then echo "$Str1 is ...
  • 先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果,如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。 这个方法充分利用了grep 的特性,最为简洁。
  • 最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串。2:怎么用实现python的列表功能。这里跟大家分享一下。 1:判断一个字符串是否包含另一个字符串: 1 2...
  • 一些需要注意的脚本问题 计算字符串长度可用的三种方法: 代码如下: echo “$str”|awk ‘{print length($0)}’ expr length “$str” ... 您可能感兴趣的文章:用Shell判断字符串包含关系的方法小结Shel
  • Linux字符串截取和处理命令 (cut、printf、awk、sed、sort、wc) 笔记 文章目录Linux字符串截取和处理命令 (cut、printf、awk、sed、sort、wc) 笔记1.cut 命令2. printf 命令3. awk 命令4. sed 命令5. sort 命令6...
  • help命令可以查看帮助 help test   正确做法:   #!/bin/sh STRING= if [ -z "$STRING" ]; then  echo "STRING is empty" fi if [ -n "$STRING" ]; then  echo "STRING is not empty...root@james
  • linux字符串转换函数 simple_strtoul

    千次阅读 2014-03-28 12:41:50
    Linux内核中提供的一些字符串转换函数: lib/vsprintf.c [html] view plaincopyprint?  1. unsigned long long simple_strtoull(const char *cp, char **endp, unsigned...
  • linux if 判断字符串是否相等

    千次阅读 2015-03-04 17:16:22
    比较两个字符串是否相等的办法是:if[ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空...
  • linux shell 判断字符串是否为数字

    千次阅读 2020-04-15 20:47:24
    方法1 a=1234 echo "$a"|[ -n "`sed -n '/^...第一个-n是shell的测试标志,对后面的"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。 sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed...
  • 1、判断字符串为空 if [ -z "$str" ]; then  echo "empty string" fi 2、判断文件是否存在 if [ -f /home/builder/.profile ]; then  echo "File exists;" fi -----------------------------------------
  • linux shell之字符串的比较

    万次阅读 2019-03-13 23:29:25
    1 字符串常用的比较 字符串相等 [[ $str1 == $str2 ]] 字符串不相等 [[ $str1 != $str2 ]] 字符串大小比较 [[ $str1 &gt;$str2 ]] 字符串等于空 [[ -z $str2 ]] 字符串不等于空 [[ -n$str2 ]] ...
  • linux中如何判断两个字符串相等

    千次阅读 2020-08-11 23:14:03
    if [ "$var1" = "$var2" ] 必须注意的点: if 与 [] 之间要有空格 [] 与“”之间要有空格 “” 与 =之间要有空格
  • 简介:本脚本主要用来学习判断某个文件是否有某个字符串以及统计含有某个字符串的个数,然后做if else大于小于等于逻辑判断去执行对应的操作。 一、测试脚本search_string.sh: #!/bin/bash echo 搜索compile_...
  • linux shell 判断字符串是否在数组中

    千次阅读 2020-03-31 12:19:11
    ARR+=("item_1") ARR+=("item_2") 「4」取出数组中的一个成员 [root@localhost ~]# echo ${ARR[2]} item_2 「5」判断一个指定的字符串是否在该数组中: if echo "${ARR[@]}" | grep -w "item_1" &>/dev/null;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,240
精华内容 65,296
关键字:

linux字符串判断

linux 订阅