迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

检查 Bash 中的变量是否为空

作者:迹忆客 最近更新:2023/03/17 浏览次数:

本文说明了使用带有 -z-n 选项的 test 命令在 bash 中检查变量是否为空。

使用 -z 选项检查 Bash 中的变量是否为空

我们使用带有 -z 选项的 test 命令。 -z 选项检查字符串变量的长度是否为 0

如果字符串变量的长度为 0,则测试返回 true,并且脚本将字符串变量为空输出到标准输出。如果字符串变量的长度不是 0,脚本会打印出字符串变量不为空。

在下面的例子中,greet 变量有一个分配给它的字符串。在测试过程中,检查 greet 变量存储的字符串值的长度是否为 0

由于 greet 变量有字符串 Hi,它分配了两个字符,测试返回 false,并且脚本在标准输出中打印 greet 变量不为空。

greet='Hi'

if [ -z "$greet" ]
then
    echo "\$greet is empty"
else
    echo "\$greet is not empty"
fi

输出:

$greet is not empty

greet 变量在下面的脚本中被分配给一个空字符串。使用 test/[ 命令检查 greet 变量以查看其字符串值的长度是否为 0

由于 greet 变量被分配给一个空字符串,测试返回 true,并且脚本打印到标准输出 greet 变量为空。

#!/bin/bash

greet=''

if [ -z "$greet" ]
then
    echo "\$greet is empty"
else
    echo "\$greet is not empty"
fi

输出:

$greet is empty

在 Bash 中使用 -n 选项来检查变量是否为空

下面的脚本使用带有 -n 选项的 test 命令来检查字符串变量是否为空。 -n 选项检查字符串变量中值的长度是否为非零。

如果变量中字符串的长度不为零,则测试返回 true,并打印出该变量不为空。如果字符串变量的长度为零,则测试返回 false,并打印出该变量为空。

greet 变量在下面的脚本中被分配给一个空字符串。当使用 test 命令检查 greet 变量时,如果它存储的字符串的长度不为零,则返回 false,并且脚本执行 else 部分中的命令。

#!/bin/bash

greet=''

if [ -n "$greet" ]
then
    echo "\$greet is not empty"
else
    echo "\$greet is empty"
fi

输出:

$greet is empty

greet 变量已分配给 Hi,这是一个在下面的脚本中包含两个字符的字符串。

检查 greet 变量中的字符串长度是否为非零的测试返回 true,因为 greet 变量被分配给具有两个字符的字符串。该脚本在标准输出中打印出 greet 变量不为空。

#!/bin/bash

greet='Hi'

if [ -n "$greet" ]
then
    echo "\$greet is not empty"
else
    echo "\$greet is empty"
fi

输出:

$greet is not empty

检查 Bash 中的变量是否为空 - 与空字符串比较

我们可以通过将其与""进行比较来检查该值是否为空。

x="Non-empty variable"
if [[ "$x" == "" ]]; then
    echo "x is empty"
else
    echo "x is not empty"
fi

检查 Bash 中的变量是否为空 - 与空字符串比较

检查 Bash 中的变量是否为空 - 使用替换方法检查

如果定义了 x,则表达式被替换为 test,否则为 null

if [ ${x:+test} ]; then
    echo "x is not empty"
else
    echo "x is empty"
fi

检查 Bash 中的变量是否为空 - 与空字符串比较

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 CentOS 中获取 IP 地址

发布时间:2023/05/04 浏览次数:108 分类:操作系统

这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。

在 Linux 中更新 YUM

发布时间:2023/05/04 浏览次数:82 分类:操作系统

本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。

在 Linux 中安装 Deb 文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。

Linux 中的 lsof 命令

发布时间:2023/05/04 浏览次数:82 分类:操作系统

在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。

Linux 中的 ps aux 命令

发布时间:2023/05/04 浏览次数:69 分类:操作系统

本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。

Linux 中的 NTP

发布时间:2023/05/04 浏览次数:137 分类:操作系统

本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。

在 Bash 中创建进度条

发布时间:2023/05/04 浏览次数:164 分类:操作系统

这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便