Linux shell编程 -test
test 命令的格式非常简单
test condition
condition 是test命令要测试的一系列参数和值。当用在if-then 语句中时,test 命令看起来是这样的
if test condition
then
commands
f i
如果不写test 命令的condition 部分,它会以非零的退出状态码退出,并执行else 语句块
bash shell 提供了另一种条件测试方法,无需在if -then 语句中声明test
if [condition]
then
commands
f i
方括号定义了测试条件,注意第一个方括号之后和第二个方括号之前必须加上一个空格,否则就会报错
test 命令可以判断三类条件:
- 数值比较
- 字符串比较
- 文件比较
数值比较
比较 | 描述 |
n1 -eq n2 | 检查n1 与n2 是否相等 |
n1 -ge n2 | 检查n1是否大于或等于n2 |
n1 -gt n2 | 检查n1是否大于 n2 |
n1 -le n2 | 检查n1 是否小于等于n2 |
n1 -lt n2 | 检查n1 是否小于n2 |
n1 -ne n2 | 检查n1 是否不等于n2 |
字符串比较
比较 | 描述 |
str1=str2 | 检查str1是否与str2 相等 |
str1!=str2 | 检查str1是否和str2 不同 |
str1<str2 | 检查str1是否比str2小 |
str1>str2 | 检查str1是否比str2大 |
-n str1 | 检查str1 的长度是否非0 |
-z str1 | 检查str1 的长度是否为0 |
-n 和 -z 可以检查一个变量是否含有数据
$var1="zhangjunjie"
$var2="junjie"
if [-n $var1]
then
commands
判断var1 变量的长度是否非0.而它的长度正好非0.所以then 部分就被执行了
if [-z $var2]
then
commadns
-z 判断var2 的长度是否为0.而它的长度正好为0,所以then部分就被执行了
Linux shell编程 -test的更多相关文章
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
- linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行
linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...
- 一文学完Linux Shell编程,比书都好懂
一. Shell 编程 1. 简介 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务. Shell 既是一种命令语言,又是一种程序设计语言. Shell scr ...
- 前端学习 linux —— shell 编程
前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...
随机推荐
- Shiro权限模型以及权限分配的两种方式
1. 顶级账户分配权限用户需要被分配相应的权限才可访问相应的资源.权限是对于资源的操作一张许可证.给用户分配资源权限需要将权限的相关信息保存到数据库.这些相关内容包含:用户信息.权限管理.用户分配的权 ...
- go 实现单链表反转
go实现单链表翻转 package main import "fmt" type ListNode struct { data interface{} Next *ListNode ...
- 迭代和JDB(课下作业,选做)
迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图 ...
- JAVA 三元运算符 求最大值
package Code428; import java.util.Scanner; public class CodeScannerMax { public static void main(Str ...
- js简单实现自动轮播
//简单一个布局存放图片 <div class="lb"> <div class="lbt"> <img src="im ...
- 解决exlipse下 springboot 错误:找不到或无法加载主类
简单描述:控制台出现了下图 废话不多说,直接上解决办法: 方法一:如果你很有自信,自己的pom 没问题,并且已经加载了所有依赖的jar.ok,这是eclipse的问题,window=>prefe ...
- iOS开发之获取文件的md5值
我们经常有下载文件上的需求 为了安全我们经常需要对文件进行md5校验 那我就来给大家分享一个很方便的获取文件md5值得方法. 首先需要引用系统库文件 #include <CommonCrypto ...
- pwn学习(1)
0x00 简介 入职之后,公司发布任务主搞pwn和re方向,re之前还有一定的了解,pwn我可真是个弟弟,百度了一番找到了蒸米大佬的帖子,现在开始学习. 0x01 保护方式 NX (DEP):堆栈不可 ...
- golang http.client 遇到了 Connection reset by peer 问题
最近一个 golang 写的 http.client 的,获取远程服务器数据,有时候会报错,尤其在数量很大的时候,老是收到 Connection reset by peer 这样的 提醒,都有点想用重 ...
- javafx由浅到深的 认识(一)
javafx是一款比较新兴的语言框架,随着javafx越来越实用,估计许多程序员也会慢慢接触它,故我在这里对它由浅到深进行介绍一下. 首先,要了解javafx,就应该先知道.xml文件的布局软件,以往 ...