检查 Bash 中的变量是否为空
本文说明了使用带有 -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 中的变量是否为空 - 使用替换方法检查
如果定义了 x
,则表达式被替换为 test
,否则为 null
。
if [ ${x:+test} ]; then
echo "x is not empty"
else
echo "x is empty"
fi
相关文章
如何在 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 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
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 中创建进度条