首页 > 系统相关 >Shell的-n -z -s

Shell的-n -z -s

时间:2024-04-10 10:45:21浏览次数:27  
标签:Shell echo variable 字符串 filename empty

在Shell脚本中,-n-z 是用于条件测试的选项,它们通常出现在 test 命令或 [ ... ] 结构中,用来判断字符串是否为空。

  • -z STRING:当字符串 STRING 的长度为零(即字符串为空)时,表达式返回 true(真)。在条件语句中,你可以这样使用它来检查一个变量是否为空:

    if [ -z "$variable" ]; then
      echo "The variable is empty."
    fi
    
  • -n STRING:当字符串 STRING 的长度非零(即字符串不为空)时,表达式返回 true(真)。这个选项常被用来检查一个变量是否包含非空字符:

    if [ -n "$variable" ]; then
      echo "The variable is not empty."
    fi
    

总结来说,-z 用于检测空字符串,而 -n 用于检测非空字符串。在编写Shell脚本进行条件判断时,这两个选项非常实用。

在Shell脚本中,-s 参数一般用于检查文件是否存在且其大小不为0,也就是判断文件是否非空。例如:

if [ -s "$filename" ]; then
  echo "File '$filename' is not empty."
else
  echo "File '$filename' is either missing or empty."
fi

在这个上下文中,[ -s "$filename" ] 将会测试指定的文件名(存储在变量$filename中)是否存在,并且如果文件包含至少一个字节的内容(即不是空文件),则条件判断为真(返回0退出状态),从而执行接下来的“then”部分的命令。

所以,简单来说,“-s”用于测试文件是否非空。

标签:Shell,echo,variable,字符串,filename,empty
From: https://www.cnblogs.com/adam-ma/p/18125527

相关文章

  • Shell - [11] 开源Apache Zookeeper集群启停脚本
     一、集群角色部署当前有Zookeeper集群如下主机名ctos79-01ctos79-02ctos79-03Zookeeper○○○ 二、脚本使用 三、脚本内容#!/bin/bash#定义ZooKeeper服务器列表SERVERS=("ctos79-01""ctos79-02""ctos79-03")#定义ZooKeeper安装路径INSTALL_......
  • 【Python系列】Jupyter Notebook 中执行 Shell 脚本的方法
    ......
  • shell practice 01
    #!/bin/bash#author:ChiWeiming#version:v1#date:2024-03-24<<COMMENT备份指定目录下的指定类型的文件,在所有指定文件的后面加上日期。例如,备份/data目录下的所有.log文件,system.log->system.log_20240324COMMENTsourcecolor.sh#checkthenumberofpa......
  • 【Linux】编写并运行Shell脚本程序操作实例
    关于Shell脚本的介绍:Shell脚本是一种用于自动化任务和简化常见操作的脚本语言,通常用于Linux和Unix环境中。Shell脚本允许用户通过编写一系列命令和逻辑语句来执行一系列任务,从而提高了工作效率和自动化水平。以下是关于Shell脚本的详细介绍:1.基础概念:Shell本身是一个用C......
  • bashshell目录介绍 及其使用
     目录介绍linux是单根/根路径,windows是多根bin和sbin:bin普通用户命令,超级用户命令都是usr下的文件夹软链接到根路径home、root:home普通用户的家路径,home下的用户名的文件夹-用户一登录系统,是在自己的家路径jack--》/home/jack  目录之usr/usr,相当于C:W......
  • shell变量
    一、自定义变量1.1自定义局部变量在shell脚本文件中var_name=value1.2自定义常量readonlyvar_name1.3自定义全局变量在shell脚本文件中exportvar_name二、特殊符号变量1.1$n:用于获取命令的输入参数$0:获取执行脚本......
  • 【Shell】循环语句基础
    Shell循环循环语句Shell循环循环的定义for循环for循环的C语言格式while循环until循环循环的定义循环在编程中通常指循环结构。循环结构是编程中的一种控制结构,它允许代码在满足特定条件时重复执行一段特定的指令集合,这部分重复执行的代码被称为循环体。循环......
  • 【Shell学堂】数学运算相关脚本
    1.输出1-100之间的所有数字#!/bin/bashforiin{1..100}doecho"$i"done2.计算1-100所有数的和#!/bin/bashsum=0foriin{1..100}doletsum=$sum+$idoneecho$sum3.计算1-100所有偶数的和#!/bin/bashsum=0foriin{2..100..2}doletsum=$sum+$ido......
  • Linux环境变量,打开的 shell 选项 himBHs 和 hBc
    前言全局说明Linux环境变量himBHs和hBc一、说明$-记录的是当前配置打开的shell选项,而himBH是其默认值。二、查看环境变量2.1本地执行echo$-2.1查看远程环境变量[email protected]'echo$-'127.0.0.1实际是本机回环,但是假设是远程机器的IP,效果是一......
  • Linux shell命令行查看判断文件是内部内建自带命令还是外部命令
    前言全局说明Linuxshell命令行查看判断文件是内部内建自带命令还是外部命令一、说明内部命令是shell自带的外部命令是安装系统时默认安装的,并且在文件系统下有对应的路径二、内部命令typecd三、外部命令typecat免责声明:本号所涉及内容仅供安全研究与教学......