DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

在shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本:

#!/bin/sh  

#filename: test.sh  

para1=  

if [ ! -n $para1 ]; then  

  echo "IS NULL"  

else  

  echo "NOT NULL"  

fi    

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

 

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

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

#!/bin/sh  

para1=  

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

  echo "IS NULL"  

else  

  echo "NOT NULL"  

fi    

 

2. 直接通过变量判断

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

#!/bin/sh  

para1=  

if [ ! $para1 ]; then  

  echo "IS NULL"  

else  

  echo "NOT NULL"  

fi    

 

3. 使用test判断

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

#!/bin/sh  

dmin=  

if test -z "$dmin"  

then  

  echo "dmin is not set!"  

else    

  echo "dmin is set !"  

fi   

 

4. 使用""判断

#!/bin/sh   

dmin=  

if [ "$dmin" = "" ]  

then  

  echo "dmin is not set!"  

else    

  echo "dmin is set !"  

fi   

 

posted on   DoubleLi  阅读(4448)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2021-02-22 wasm + ffmpeg实现前端截取视频帧功能
2021-02-22 WebAssembly+ffmpeg浏览器视频处理
2017-02-22 stm32与arm7比较(经典)
2017-02-22 STM32介绍以及与通常ARM的区别
2017-02-22 stm8开发环境配置及测试
点击右上角即可分享
微信分享提示