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 ...
随机推荐
- 使用crontab调度任务
复杂的.分布式的.工作流式的调度可以通过azkaban来进行调度,除了执行调度任务之外,它还能进行定时调度.而对于简单的服务器任务,如执行一个小脚本,发送邮件等,可以使用crontab命令直接进行,在 ...
- 深入理解java虚拟机---java内存区域与内存溢出异常---2堆栈溢出
本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...
- LeetCode SQL:Employees Earning More Than Their Managers
# Write your MySQL query statement below SELECT a.Name FROM Employee AS a INNER JOIN Employee AS b O ...
- 用数组指针遍历数组,FOR/FOREACH遍历数组
1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...
- linux中文字体
◆ 背景说明 报表,在windows下,展现.导出都正常,在linux下,字体变大了.比如,单元格的大小设计好后,里面的字当好能一行显示完,将报表放到linux下后,字变大了,一行显示不完了,变 ...
- OneNet平台初探成功
1.经过半个月的研究,终于成功对接OneNet平台,实现远程控制LED灯的亮灭 2.在调试的过程中也遇到了很多问题,做一下总结 3.硬件:STM32F103C8T6的最小系统板,ESP8266-WiF ...
- python函数 变量 递归
1 语法 #语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 #函数名要能反映其意义 返回值数=0:返回None放回值数=1:返回object ...
- 【转】grep -v grep
1.grep 是查找含有指定文本行的意思,比如grep test 就是查找含有test的文本的行 2.grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的 ...
- Fatal error: Can't use function return value in write context
这个的出错原因很简单,先贴出错代码: <?php $contact = array("id"=>1, "姓名"=>"老高" ...
- machine learning model(algorithm model) .vs. statistical model
https://www.analyticsvidhya.com/blog/2015/07/difference-machine-learning-statistical-modeling/ http: ...