热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell8:test使用

test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。1数值-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真

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


1 数值

-eq  等于则为真

-ne  不等于则为真

-gt  大于则为真

-ge  大于等于则为真

-lt    小于则为真

-le   小于等于则为真


2 字符串

=     等于则为真

!=    不相等则为真

-z 字符串      字符串的长度为零则为真

-n 字符串     字符串的长度不为零则为真


3 文件

-e 文件名     如果文件存在则为真

-r 文件名      如果文件存在且可读则为真

-w 文件名     如果文件存在且可写则为真

-x 文件名      如果文件存在且可执行则为真

-s 文件名      如果文件存在且至少有一个字符则为真

-d 文件名     如果文件存在且为目录则为真

-f 文件名      如果文件存在且为普通文件则为真

-c 文件名      如果文件存在且为字符型特殊文件则为真

-b 文件名     如果文件存在且为块特殊文件则为真

注意

1请避免在”Shell test命令“中使用单引号,使用它可能会导致难以察觉的错误。

2 Shell 还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为: ! 最高, -a 次之, -o 最低。

#!/bin/bash
a=100
b=100
if test $[a] -eq $[b]
thenecho '两个数相等!'
elseecho '两个数不相等!'
fi
str1="hello"
str2="Hello"
if test ${str1} = ${str2}
thenecho '两个字符串相等!'
elseecho '两个字符串不相等!'
fi
cd /bin
if test -e ./bash
thenecho '文件已存在!'
elseecho '文件不存在!'
fi
cd /bin
if test -e ./notFile -o -e ./bash
thenecho '至少有一个文件存在!'
elseecho '两个文件都不存在'
fi


推荐阅读
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 从U ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • Shell编程(三)bash数学运算
    本文介绍shell中的expr和bash自带的 ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
author-avatar
qyuyo0606
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有