shell 9test命令
shell中的test用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
1. 数值测试
| -eq | 等于为true |
| -ne | 不等,为true |
| -gt | 大于,为true |
| -ge | 大于等于,为true |
| -lt | 小于,为true |
| -le | 小于等于,为true |
```
#shell
#!/bin/sh
a=3
b=5
if test $a -eq $b;then
echo "$a=$b"
else
echo "$a!=$b" #3!=5
fi
if test $a -gt $b;then
echo "$a>$b"
else
echo "$a$b"
fi
```
2. 字符串测试
| = | 等于,为true |
| != | 不等,为true |
| -z 字符串 | 字符串的长度为0,为true |
| -n 字符串 | 字符串的长度不为0,为true |
```
#shell
#!/bin/sh
a="hello"
b="world"
if test $a = $b;then
echo "equal"
else
echo "not equal" not equal
fi
if test -z $a;then
echo "字符串长度为0"
else
echo "字符串长度不为0" #字符串长度不为0
fi
```
## 3. 文件测试
| -e 文件名 | 如果文件存在,则为真 |
| -r 文件名 | 如果文件存在且可读,则为真 |
| -w 文件名 | 如果文件存在且可写,则为真 |
| -x 文件名 | 如果文件存在且可执行,则为真 |
| -s 文件名 | 如果文件存在且至少有1个字符,则为真 |
| -d 文件名 | 如果文件存在且是目录则为真 |
| -f 文件名 | 如果文件存在且为普通文件,则为真 |
| -c 文件名 | 如果文件存在且为字符型特殊文件,则为真 |
| -b 文件名 | 如果文件存在且为特殊文件,则为真 |
```
#shell
#!/bin/sh
if test -e land;then
echo "文件已存在"
else
touch land
echo "文件已创建" #文件已创建
fi
if test -r land;then
echo "文件存在且可读" #文件存在且可读
else
echo "文件不存在或文件不可读"
fi
```
4. 使用逻辑运算符 -a -o !
#shell
#!/bin/sh
if test -e land -o -e wind;then
echo "有一个存在" #有一个存在
else
echo "2个都不存在"
fi
shell 9test命令的更多相关文章
- linux 基础 shell脚本命令
#########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...
- paip.执行shell cmd 命令uapi java php python总结
paip.执行shell cmd 命令uapi java php python总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
- (转)Hbase shell 常用命令(1)
Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...
- Shell printf 命令
Shell printf 命令 printf 命令模仿 C 程序库(library)里的 printf() 程序. 标准所定义,因此使用printf的脚本比使用echo移植性好. printf 使用引 ...
- Shell echo命令
Shell echo命令 echo "It is a test" 这里的双引号完全可以省略 .显示变量 read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shel ...
- 进入BIOS SHELL DUMP 命令
LINUX系统 进入SHELL 输入命令 fs1: or fs0: 就进入了U盘目录 然后输入 ACPIRW.efi -d -s dsdt.bat 就会产生结果到U盘 ——————————————— ...
- Linux Shell : Test命令参数解析
格式: test conditions test -n string : string 不为空 test -z string : string 为空 test int1 -eq int2 : int ...
- shell解析命令行的过程以及eval命令
本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e ...
- Shell和命令基础
什么是Shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解析器),Shell接收用户输入的命令并把它送入到内核去执行,结构如下图 Shell的功能 Shell最重要的 ...
随机推荐
- 静态函数和全局函数都没有this指针
静态函数和全局函数都没有this指针
- main方法原来只要放在public static类中就能跑,涨知识了
接口中可以装在嵌套类对象. public interface ClassInterface { void howdy(); class Test implements ClassInterface { ...
- CCleaner 垃圾文件清理规则 编写指南
以下内容的英文版本来源于 CCleaner 官方论坛,仅供参考.欢迎大家编写并分享针对常用国产软件的垃圾文件清理规则!需要说明的是规则文件(Winapp2.ini)需和程序文件放于同一文件夹下,才能被 ...
- $(function(){})与(function($){})(jquery)
$(function(){}) function中的代码在DOM加载完成后立即执行,比window.onload()更快,因为前者不需要等待图片加载完成. (function($){})(jquery ...
- Ubuntu 12.04硬盘安装教程
从服务器下载Ubuntu 12.04光盘镜像文件到 C 盘.下载地址:\\192.167.100.225\share\Tool\Ubuntu\ubuntu-12.04.1-desktop-amd64. ...
- Pycharm下tensorflow导入错误
问题: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory 解决方案: L ...
- FW: Solving SharePoint Server -503. The service is unavailable, After installation
Installed: SharePoint Server 2010 for Internet Enterprise Beta (x64) On: Windows Server 2008 Standar ...
- 【c++基础】ifstream的构造函数
公共成员函数: ) ifstream(); initialization () explicit ifstream (const char* filename, ios_base::openmode ...
- MyEclipse快捷键及经验总结 绝对的有用 太给力了
Ctrl+Shift+L 显示所有快捷键 Ctrl+K 参照选中的词(Word)快速定位到下一个 Ctrl+Shift+K 参照选中的词(Word)快速定位到上一个 C ...
- stenciljs 学习一 web 组件开发
stenciljs 介绍参考官方网站,或者 https://www.cnblogs.com/rongfengliang/p/9706542.html 创建项目 使用脚手架工具 npm init ste ...