linux字符串比较

比较 描述 比较 描述
str  = str2 检查str1与str2是否相同 str  >  str2 检查str1是否大于str2
str != str2 检查str1与str2是否不同 -n   str   检查str1的长度是否大于0
str <  str2 检查str1是否小于str2 -z   str    检查str1的长度是否为0

示例1:字符串相同

#!/bin/bash

testuser=root

if [ $USER = $testuser ]

then

echo "Welcome"

else

echo "Sorry ,bye"

fi

[[email protected] ~]# ./test7.sh

Welcome

************************************************

示例2:使用不相等的字符串比较

#!/bin/bash

testuser=bad

if [ $USER != $testuser ]

then

echo "The isn‘t $testuser"

else

echo "Welcome $testuser"

fi

[[email protected] ~]# ./test8.sh

The isn‘t bad

************************************************

示例3:字符串大小

-n 大于0

-z 等于0

#!/bin/bash

var1=testing

var2=‘‘

if [ -n $var1 ]

then

echo "The string  is not empty"

else

echo "The string is empty"

fi

if [ -z $var2 ]

then

echo "The string var2 is empty"

else

echo "The string var2 is not empty"

fi

[[email protected] ~]# ./test10.sh

The string  is not empty

The string var2 is empty

时间: 2024-10-11 22:10:54

linux字符串比较的相关文章

Linux字符串函数集

//Linux字符串函数集: 头文件:string.h 函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2); 功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符). 返回值:返回该位置的指针,如找不到,返回空指针. 包含文件:string.h 函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2); 功能:找出str2字符串在s

Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc

1. cut [选项] 文件名 -f  列号 #提取第几列(分隔符默认为\t) -d  分隔符 #指定分隔符 例如:cut -f 2 a.txt #截取文件a.txt内容的第二列(列号从1开始) cut -f 2,4 a.txt #截取文件a.txt内容的第二列和第四列 cut -d  ":"  -f 1,3 /etc/passwd #截取文件passwd文件的第1列和第三列,以:分割取其中的第一列和第三列 2. printf '输出类型 输出格式'  输出内容 输出类型: %ns 输

linux字符串操作

字符串截取 定义字符串 $ str=www.baidu.com 匹配字符串截取 # :截左取右,截到第一次匹配 ,输出结果为 baidu.com $ echo ${str#*.} ## : 截左取右 截到最后一次匹配,输出结果为 com $ echo ${str##*.} % :截右取左 截到第一次匹配,输出结果为 www.baidu $ echo ${str%.*} %% :截右取左 截到最后一次匹配,输出结果为 www $ echo ${str%%.*} 匹配长度截取 从0位置字符开始,截取

Linux字符串截取命令

一.简单截取 假设有变量 var=http://www.google.com/test.htm 1. # 号截取,删除左边字符,保留右边字符.echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.google.com/test.htm 2. ## 号截取,删除左边字符,保留右边字符.echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即

linux字符串url编码与解码

编码的两种方式 echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g' echo '手机' |tr -d '\n' |od -An -tx1|tr ' ' % 解码 url="要解码的URL地址" printf $(echo -n $url | sed 's/\\/\\\\/g;s/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"

Linux 字符串颜色

字体颜色: 字体背景颜色: 显示方式: 30 黑色 40 黑色 0 默认 31 红色 41 深红 1 高亮 32 绿色 42 绿色 4 下划线 33 黄色 43 黄色 5 闪烁 34 蓝色 44 蓝色 7 反白 35 紫色 45 紫色 8 隐藏 36 深绿 46 深绿 37 白色 47 白色 命令格式: \033[1;31;40m 其中1是显示方式,为可选 31是字体颜色 40m是字体背景颜色 \033[0m 恢复终端默认颜色 原文地址:https://www.cnblogs.com/hzdww

linux字符串转字符画

今天在研究sshd_config发现个好玩的东西,远程连接服务端后提示一段字符画,字符画如何设置, 使用到工具figletyum install figlet -y 用法: Usage: figlet [ -cklnoprstvxDELNRSWX ] [ -d fontdirectory ] [ -f fontfile ] [ -m smushmode ] [ -w outputwidth ] [ -C controlfile ] [ -I infocode ] [ message ] -c 显

linux shell 中判断语句

切记if和其中的[]都要加空格符 1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真str1 != str2 当串str1和str2不等时为真-n str1 当串的长度大于0时为真(串非空)-z str1 当串的长度为0时为真(空串)str1    当串str1为非空时为真 2.数字的判断 int1 -eq int2 两数相等为真int1 -ne int2 两数不等为真int1 -gt int2 int1大于int2为真int1 -ge int2 int1大于等于int2为真

Linux Shell脚本条件判断

Shell条件判断 if list then           do something here elif list then do another thing here else do something else here fi  EX1: #!/bin/sh SYSTEM=`uname -s`    #获取操作系统类型,我本地是linux if [ $SYSTEM = "Linux" ] ; then     #如果是linux的话打印linux字符串 echo "