shell test
内置test命令常用操作符号[]表示,将表达式写在[]中,如下:
[ expression ]
或者:
test expression
注意:expression首尾都有个空格
eg: [ ] ;echo ?测试范围:整数、字符串、文件表达式的结果为真,则test的返回值为0,否则为非0。当表达式的结果为真时,则变量? 测试范围:整数、字符串、文件 表达式的结果为真,则test的返回值为0,否则为非0。 当表达式的结果为真时,则变量?测试范围:整数、字符串、文件表达式的结果为真,则test的返回值为0,否则为非0。当表达式的结果为真时,则变量?的值就为0,否则为非0
字符串测试:
test str1 == str2 测试字符串是否相等 =
test str1 != str2 测试字符串是否不相等
test str1 测试字符串是否不为空,不为空,true,false
test -n str1 测试字符串是否不为空
test -z str1 测试字符串是否为空
eg:
name=linzhiling
[ “KaTeX parse error: Expected 'EOF', got '&' at position 9: name” ] &̲& echo ok ; 命令连…name” ] && echo invalid || echo ok
|| 逻辑或,条件不满足,才执行后面的语句
test “$name” == ”yangmi” && echo ok || echo invalid
整数测试:
test int1 -eq int2 测试整数是否相等 equals
test int1 -ge int2 测试int1是否>=int2
test int1 -gt int2 测试int1是否>int2
test int1 -le int2 测试int1是否<=int2
test int1 -lt int2 测试int1是否<int2
test int1 -ne int2 测试整数是否不相等
eg:
test 100 –gt 100
test 100 –ge 100
如下示例两个变量值的大小比较:
-gt表示greater than大于的意思,-le表示less equal表示小于等于。
文件测试:
test -d file 指定文件是否目录
test –e file 文件是否存在 exists
test -f file 指定文件是否常规文件
test –L File 文件存在并且是一个符号链接
test -r file 指定文件是否可读
test -w file 指定文件是否可写
test -x file 指定文件是否可执行
eg:
test -d install.log
test –r install.log
test –f xx.log ; echo $?
[ -L service.soft ] && echo “is a link”
test -L /bin/sh ;echo KaTeX parse error: Expected 'EOF', got '&' at position 16: ? [ -f /root ] &̲& echo “yes” ||…num” –a “KaTeX parse error: Expected 'EOF', got '&' at position 16: num” –ge 520 ] &̲& echo “marry y… pathname”] && echo usable || echo used
shell test相关推荐
- jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理
准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...
- Linux shell 学习笔记(16)— shell 入门总结
1. Shell 变量 Shell 变量包括自定义变量和环境变量: 自定义变量:脚本中自己命名定义的变量,通常为局部变量,其他 Shell 程序不能访问到: 环境变量,操作系统已定义的变量,如 PAT ...
- 浅显易懂 Makefile 入门 (08)— 默认 shell (/bin/sh)、命令回显、make参数(-n 只显示命令但不执行,-s 禁止所有回显)、单行命令、多行命令、并发执行
1. shell 相关 1.1 默认 shell Makefile 所使用的命令是由 shell 命令行组成,他们是一条一条执行的. 多个命令之间要使用分号隔开,Makefile 中的任何命令都要以 ...
- Linux shell 学习笔记(12)— linux 信号、后台运行脚本、作业控制、定时运行任务
1. 处理信号 1.1 Linux 信号 常见的 Linux 信号如下表所示: 信号 值 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL ...
- Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...
- Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
1. 命令行参数 向 shell 脚本传递数据的最基本方法是使用命令行参数.命令行参数允许在运行脚本时向命令行添加数据. $ ./addem 10 30 本例向脚本 addem 传递了两个命令行参数( ...
- Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符
1. for 语句 bash shell 中 for 命令的基本格式如以下,$var 变量包含着这次迭代对应的当前列表项中的值. for var in list docommands done 也可以 ...
- Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)
1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then commands fi 或者 if command; t ...
- Linux shell 学习笔记(7)— 构建基本脚本(变量、重定向、管道、状态码)
1. 使用多个命令 如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. $ date ; who Mon Feb 21 15:36:09 EST 2014 Christine tty2 ...
- Linux shell 学习笔记(5)— 文件权限(添加、修改、删除用户及创建、修改群组)
1. Linux的安全性 Linux 安全系统的核心是用户账户.每个能进入 Linux 系统的用户都会被分配唯一的用户账户.用户对系统中各种对象的访问权限取决于他们登录系统时用的账户. 用户权限是通过 ...
最新文章
- A/B测试与灰度发布
- 张季跃 201771010139《面向对象程序设计(java)》第十八周学习总结
- 定制C# combobox的下拉框
- TCP/IP,三次握手四次挥手,TCP/UDP , HTTP/HTTPS
- 简单的SQL数据脱敏
- javascript编写acm算法题
- 基于NNIE神经网络引擎_海思hi3516DV300方案硬件平台适合做哪些开发
- OJ 2311 Problem A	Orange
- vcard文件怎么导入手机_如何从单个vCard(.vcf)文件将多个联系人导入Outlook 2013
- 什么是hardcode编码
- 第三讲 AHRS姿态解算
- 车载颚式移动破碎机让资源重生,刻不容缓
- 如何将音乐添加到PowerPoint演示文稿
- Tensorflow 从bin文件中读取数据并
- DHU Matlab Experiment【2】作业记录_第三章、第四章
- Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中
- linux 默认时区修改
- 傻白探索Chiplet,关于EPYC Zen2 的一些理解记录(五)
- C#创建Windows窗体应用程序实例1【姓名输入】
- python 返回函数 变量_你如何设置一个变量等于由python函数返回的值
热门文章
- mysql存储过程 try_mysql存储过程之异常处理篇
- laravel 模型里自定义属性_关于Laravel 7 的简单隐式路由模型绑定
- 电脑唯一标识_什么是电脑网卡物理地址以及2种查询物理地址的方法?
- tf卡测试软件_真正的白菜价?1G不到1元,铠侠(原东芝存储)microSD卡评测
- php统计在一个页面停留时间,php记录页面停留时间的代码
- python 的输入 输出
- php7 fastcgi安装,安装windows 下 php7+nginx+fastcgi
- python删除特定的几行数据_Python:分成几行,并根据搜索删除特定行 - python
- linux跳转乌班图服务器,Linux-Ubuntu环境安装Nginx和配置二级域名跳转
- 模拟手机浏览器_简易数据分析 03 | 浏览器中那些不为人知的使用技巧