linux bash中 test命令详解

这篇具有很好参考价值的文章主要介绍了linux bash中 test命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

test命令用于检查某个条件是否成立。它可以进行数值、字符和文件三方面的测试。

1、数值测试
  • -eq 等于
  • -ne 不等于
  • -gt 大于
  • -ge 大于或等于
  • -lt 小于
  • -le 小于或等于

例如,我们可以测试两个变量是否相等:

num1=100
num2=200
if test $num1 -eq $num2
then
    echo 'Two values are equal!'
else
    echo 'Two values are not equal!'
fi
2、字符串测试
  • = 等于
  • != 不等于
  • -z 字符串长度是否为0,长度为0返回真
  • -n 字符串长度是否为0,长度不为0返回真

例如,我们可以测试两个字符串是否相同:

str1="hello"
str2="world"
if test str1 = str2
then
    echo 'Two strings are the same!'
else
    echo 'Two strings are different!'
fi
3、文件测试
  • -e 文件是否存在
  • -d 是否存在并且是一个目录
  • -f 是否存在并且是一个文件
  • -r 文件是否存在并且可读
  • -w 文件是否存在并且可写
  • -x 文件是否存在并且可执行

例如,我们可以测试文件是否存在并且是一个目录:

dir_path="./my_dir"
if test -d $dir_path
then
    echo 'The directory exists!'
else
    echo 'The directory does not exist!'
fi

注意: [test 的简化版本,所以下面两种写法是等价的:文章来源地址https://www.toymoban.com/news/detail-708998.html

if test $a -eq $b if [ $a -eq $b ]

到了这里,关于linux bash中 test命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux命令-builtin命令(执行bash内建命令)

    用于执行指定的bash内建命令。 builtin 命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。 shell-builtin(可选):要调用的bash内建命令。 arg(可选):传递给bash内建命令的一到多个参数。 返回该内建命令执行的返回值,除非传递的不是bash内建命令或该内建命令

    2024年02月19日
    浏览(108)
  • Linux:执行命令的命令eval与Bash解析命令的方式

    相关阅读 Linux https://blog.csdn.net/weixin_45791458/category_12234591.html?spm=1001.2014.3001.5482         eval命令用于接收参数,并将这些参数作为一行命令执行,这也许会使人困惑,为什么我不能直接执行命令而需要使用eval命令间接执行呢?本文将解开这些疑惑。         eval命令的语法如

    2024年04月13日
    浏览(47)
  • 【Linux | Shell命令】bash shell 进程、磁盘、文件处理命令

    上篇文章 bash shell 基础命令 中,介绍了一些与目录、文件相关的 shell 命令,本文继续介绍其他与进程、磁盘、排序、归档相关的命令,读者可以在自己的Linux系统下,实操这些命令,进而收悉并掌握这些命令。本文是一篇学习笔记,很多内容是参考了《Linux命令行与shell脚本

    2024年02月11日
    浏览(62)
  • [Linux错误] bash: jsp: 未找到命令...

    一、jps命令无法找到 二、检查基础Java环境 三、查看Java目录安装情况 ls命令: -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为\\\".\\\"的视为隐藏档,不会列出) -l除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英

    2024年02月05日
    浏览(48)
  • 【Linux | Shell】bash shell 基础命令

    很多 Linux 发行版的默认 shell 是 GNU bash shell。本文将介绍 bash shell 的基本特性,比如 bash 手册、命令行补全以及如何显示文件内容等。 GNU bash shell 是一个程序,提供了对 Linux 系统的交互式访问。它是作为普通程序运行的,通常是在用户登录终端时启动。系统启动的 shell 程序

    2024年02月11日
    浏览(64)
  • 【Linux | Shell】结构化命令2 - test命令、方括号测试条件、case命令

    上篇文章 介绍了 if 语句相关知识。但 if 语句只能执行命令,判断该命令的结果,但在编程中,我们多数情况需要判断一个变量的值是否为空?判断两个变量的值谁更大?判断变量的字符串是否相等?这些判断条件,使用 if 语句无法直接判断。这篇文章介绍 if 语句中只能执

    2024年02月16日
    浏览(45)
  • 解决Linux:-bash: mysql: 未找到命令 问题

    1、查看MySQL服务是否启动 2、查看MySQL运行环境 3、暂停MySQL服务 4、在/etc/profile配置系统环境变量 5、让profile文件立即生效 抄录于秀_儿 解决 Failed to search for file: cannot update repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist 因为Centos 8已经停止维护,所以需要改变镜

    2024年02月11日
    浏览(60)
  • linux Shell 命令行-05-test 检查某个条件是否成立

    linux Shell 命令行-00-intro 入门介绍 linux Shell 命令行-02-var 变量 linux Shell 命令行-03-array 数组 linux Shell 命令行-04-operator 操作符 linux Shell 命令行-05-test 验证是否符合条件 linux Shell 命令行-06-flow control 流程控制 linux Shell 命令行-07-func 函数 linux Shell 命令行-08-file include 文件包含 linu

    2024年03月12日
    浏览(40)
  • linux系统中解决docker: bash:未找到命令

    目录 第一步、检查你的yum是否是最新版(不是的话就更新yum)  第二步、安装依赖软件包 第三步、设置yum源  第四步、安装docker  第五步、启动docker服务 第六步、设置开机自启动 第七步、给docker配置应用镜像下载加速(国外网站,下载应用镜像慢)  以下是卸载docker 删除

    2024年02月08日
    浏览(40)
  • Linux和Shell笔记-2基本的bash shell命令

    与windows前面标明盘符不同,Linux采用了将文件存储在单个目录结构中,这个目录被称为 虚拟目录 。 Linux使用正斜线( / )而不是反斜线( ) 在文件路径中划分目录。Linux中反斜线用来标识转义字符,因此不能用在文件路径里,这一点和windows不同。 常用的目录名称以及功能介绍

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包