shell中判断空字符串和有趣的空字符串

简介: Introduction Shell 中判断空字符串 以及有趣的空字符串判断字符串是否为空Example1if [[ -z "$str" ]]then echo "1 empty"fiExample2if [[ "$str"x = "x" ]]then echo "2 empty"fiExa

Introduction

Shell 中判断空字符串
以及有趣的空字符串


判断字符串是否为空

Example1

if [[ -z "$str" ]]
then
        echo "1 empty"
fi

Example2

if [[ "$str"x = "x" ]]
then
        echo "2 empty"
fi

Example3

if [[ "$str" = "" ]]
then
        echo "2 empty"
fi

有趣的 空字符串

root@pts/4 $ cat /tmp/lc-7.sh
#!/usr/bin/env bash

str=$1

if [[ "$str" = "" ]]
then
        echo "1 empty"
fi

if [[ "$str" = " " ]]
then
        echo "2 empty"
fi

if [[ "$str" = "0" ]]
then
        echo "3 empty"
fi

if [[ "$str" = "00" ]]
then
        echo "4 empty"
fi

if [[ "$str" -eq 0 ]]
then
        echo "5 empty"
fi

if [[ "$str" -eq 000 ]]
then
        echo "6 empty"
fi

if [[ "$str" -eq '0' ]]
then
        echo "7 empty"
fi

if [[ "$str" -eq '00' ]]
then
        echo "8 empty"
fi

## show results
root@pts/4 $ bash /tmp/lc-7.sh
1 empty
5 empty
6 empty
7 empty
8 empty

从最后的结果中你发现了什么?

欢迎大家留言讨论

简书地址:shell中判断空字符串和有趣的空字符串



公众号: DailyJobOps

    公众号: DailyJobOps    

目录
相关文章
|
SQL Shell Linux
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
很高兴能开始是新的知识点,我在使用sh 运行hive脚本以后才发现不知不觉的时候我已经开始使用shell了。。。
140 0
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
shell 命令返回值判断
shell 命令返回值判断
|
Shell Linux
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)、-eq 等于(equal) -ne 不等于(not equal)-lt 小于(less than) -le 小于等于(less equal)-gt 大于(greater than) -ge 大于等于(greater equal)注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。 -r 有读的权限(read)-w 有写的权限(write)-x 有执行的权限(execute)
168 1
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
|
Java Shell Linux
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
“{}”在linux shell里面表示生成序列、在for循环中$*和$@的区别、注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格②if 后要有空格、在中括号里面的话就不用&&(||)而是用-a(-and)(和-o(-or))、用逻辑与&&逻辑或||连接(单分支)(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。(2)双分号“;;”表示命令序列结束,相当于 java 中的 break。 (3)最后的“*)”表示默认模式,相当于 java 中的 default。当
235 1
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
|
Shell
【shell】判断语句、循环语句
文章目录 前言 一、内容 二、判断语句 2.1 if 判断
104 0
【shell】判断语句、循环语句
|
Shell Linux
LINUX SHELL判断两个字串包含关系的办法
LINUX SHELL判断两个字串包含关系的办法
103 0
|
Shell Linux
LINUX SHELL判断文件、目录是否存在
LINUX SHELL判断文件、目录是否存在
105 0
|
Java Shell Linux
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
|
Shell Linux
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断