shell基础--test命令的使用
test :用于文件类型检查和变量比较
一.用途:
1.判断表达式
2.判断字符串

3.判断整数

4.判断文件

测试例子:
(1).test
[root@~_~ day5]# cat test.sh
#!/bin/bash
a=$1
b=$2
if test $a -eq $b
then
echo "a=b"
else
echo "a!=b"
fi
[root@~_~ day5]# sh test.sh 1 1
a=b
[root@~_~ day5]# sh test.sh 1 2
a!=b
---------------------------------------------
(2).[]
[root@~_~ day5]# cat test.sh
#!/bin/bash
a=$1
b=$2
[ $a = $b ] && echo "a=b" || echo "a!=b"
[root@~_~ day5]# sh test.sh 1 2
a!=b
[root@~_~ day5]# sh test.sh 1 1
a=b
-------------------------------------------------
(3).判断文件
[root@~_~ day5]# cat test2.sh
#!/bin/bash
[ -f "$0" ]&& echo "$0 is a file" || echo "$0 is not a file"
[root@~_~ day5]# sh test2.sh
test2.sh is a file
二.test,[] , [[]]用法比较
[]与test等价,均为shell得到内部命令,而[[]]是shell得到关键字,bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码,故推荐用 [[]] 作为条件判断语句,不易出现逻辑错误。另外,[[]]还支持模式匹配和正则表达式
(1).语法比较
[[]]: if [[ $a != 1 && $a != 2 ]]
[]: if [ $a -ne 1] && [ $a != 2 ] 或者 if [ $a -ne 1 -a $a != 2 ]
(2). [[]] 支持模式匹配
[root@~_~ day5]# cat test4.sh
#!/bin/bash
[[ "abcd" == a*d ]]&& echo True || echo Flase
[ "abcd" == a*d ]&& echo True || echo Flase
[root@~_~ day5]# sh test4.sh
True
Flase
(3).[[]] 支持正则表达式
[root@~_~ day5]# cat test5.sh
[[ "hello" =~ ^h ]]&& echo Ture || echo False
[root@~_~ day5]# sh test5.sh
Ture
shell基础--test命令的使用的更多相关文章
- [shell基础]——find命令
find命令选项 -name 按照文件名查找 -type 查找某一类型的文件(b 代表设备块:d 目录:c 字符设备文件:l 符号(软)链接文件:f 普通文件) -size 查找文件长度或者大小 -p ...
- [shell基础]——sed命令
关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...
- [shell基础]——read命令
read命令:在shell中主要用于读取输入.变量.文本 1. 接受标准输入(键盘)的输入,并将输入的数据赋值给设置的变量 [按回车键——表示输入完毕] [若输入的数据多于设置的变 ...
- [shell基础]——echo命令
echo命令:在shell中主要用于输出 1. -n 不换行的显示结果(默认是换行的) 2. -e " " 支持双引号中使用一些特殊字符 常用的特殊字符有 \a 发出警告 ...
- [shell基础]——sort命令
sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项 -c 测试文件是否已经被排序 -r 逆向排序 -n 按照数字数值大小排序 -t 指定分割 ...
- [shell基础]——uniq命令
uniq命令常见选项 去除重复行 -u 显示不重复的行 -d 显示有重复的行 -c 打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...
- [shell基础]——cut命令
cut命令常见选项
- shell基础--cat命令的使用
一.cat的常用用法 1.总结 2.实验 (1).非交互式编辑 [root@~_~ day5]# cat > cattest.sh <<STOP > hello > ST ...
- Shell基础-Bash命令类型
Bash命令大体可以分为两类: 第一类是可执行文件,例如ls等 第二类是Bash内建命令,常见echo,cd等 bash命令优先级表:1别名 由alias指定 2关键字 3函数 由function ...
随机推荐
- 悟空模式-java设计模式
目前已定义的java设计模式细分下来有二十余种,这篇博客主要是想从大家所熟知的孙悟空入手,阐述各个设计模式的概念和优缺点,以及他们之间的联系. 在下面介绍的每个设计模式里,都会有与西游记相关的具体案例 ...
- WinForm窗体多线程操作实例
最近在学习C# 多线程相关知识,这块一直比较薄弱,在网上查了一下资料,学习了一下前辈们的经验,小弟自己也比葫芦画瓢的写了一个,自学一下. 代码如下 using System; using System ...
- Tips——Flatlist的onEndReached多次触发问题解决
一.问题 RN项目里使用Flatlist组件,上拉刷新item过多时,出现跳屏.闪屏.空白屏等问题. 二.原因 先在render函数里log了一下,发现没有re-render,判断不是网络请求或页面内 ...
- jQuery源码学习笔记二
//添加实例属性和方法 jQuery.fn = jQuery.prototype = { // 版本,使用方式:$().jquery弹出当前引入的jquery的版本 jquery: core_vers ...
- Django基础三之视图函数
一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错 ...
- 安装php扩展redis (windows环境)
首先十分感谢网络上支持开源分享的前辈们,资源真的太丰富了,虽然也有许多优秀的国外资源被墙了... 想要给php增加redis扩展第一步当然要知道自己使用的php版本以及一些配置.查看 phpinfo ...
- 使用iview-admin2构建的项目,热更新无法启动
原因:@vue/cli-service版本是3.0.1解决:升级@vue/cli-service到最新版本
- zookeeper - java操作
ZKUtils.java package test; import java.io.IOException; import java.util.concurrent.CountDownLatch; i ...
- SQL Server数据库快照的工作方式
SQL Server数据库快照的工作方式 翻译自:How Database Snapshots Work 最近有一个帖子<errorlog中的异常信息rolled forward 和rolled ...
- 《SQL Server 2008从入门到精通》--20180704
XML查询技术 XML文档以一个纯文本的形式存在,主要用于数据存储.不但方便用户读取和使用,而且使修改和维护变得更容易. XML数据类型 XML是SQL Server中内置的数据类型,可用于SQL语句 ...