Linux系统Shell编程及自动化运维实现-判断_linux shell编程和自动化运维-程序员宅基地

技术标签: Linux Shell编程及自动化运维实现  运维  shell  linux  

一.shell条件测试

1.1格式

  • 格式1:test 条件表达式
  • 格式2:[ 条件表达式 ]
  • 格式3:[[ 条件表达式 ]]

1.2文件测试[ 操作符 文件或目录 ]

  • 示例
-d : 这是一个目录

[root@localhost ~]# test -d /home
[root@localhost ~]# echo $?
0
[root@localhost ~]# test -d /home11111
[root@localhost ~]# echo $?
1
[root@localhost ~]# [ -d /home ]

注意中括号里的两个空格
  • 操作符种类
-f filename : 当filename 存在时返回真
-b filename : 当filename 存在并且是块文件时返回真(返回0)
-d pathname : 当pathname 存在并且是一个目录时返回真
-h filename : 当filename 存在并且是符号链接文件时返回真 (-L filename)
-u pathname : 当由pathname 指定的文件或目录存在并且设置了SUID 位时返回真
-c filename : 当filename 存在并且是字符文件时返回真
-e pathname : 当由pathname 指定的文件或目录存在时返回真
-g pathname : 当由pathname 指定的文件或目录存在并且设置了SGID 位时返回真
-k pathname : 当由pathname 指定的文件或目录存在并且设置了"粘滞"位时返回真
-p filename : 当filename 存在并且是命名管道时返回真
-r pathname : 当由pathname 指定的文件或目录存在并且可读时返回真
-s filename : 当filename 存在并且文件大小大于0 时返回真
-S filename : 当filename 存在并且是socket 时返回真
-t fd       : 当fd 是与终端设备相关联的文件描述符时返回真
-w pathname : 当由pathname 指定的文件或目录存在并且可写时返回真
-x pathname : 当由pathname 指定的文件或目录存在并且可执行时返回真
-O pathname : 当由pathname 存在并且被当前进程的有效用户id 的用户拥有时返回真(字母O 大写)
-G pathname : 当由pathname 存在并且属于当前进程的有效用户id 的用户的用户组时返回真
file1 -nt file2 : file1 比file2 新时返回真
file1 -ot file2 : file1 比file2 旧时返回真

1.3数值比较[ 整数1 操作符 整数2 ]

  • 操作符
[ 1 -gt 2 ] 大于
[ 1 -lt 2 ] 小于
[ 1 -eq 2 ] 等于
[ 1 -ne 2 ] 不等于
[ 1 -ge 2 ] 大于等于
[ 1 -le 2 ] 小于等于
  • 示例
[root@localhost ~]# vim user.sh
num=$(id -u)
if [   $num  -eq  0   ]
then
echo "administrator"
else
echo "user"
fi
[root@localhost ~]# bash user.sh
[root@localhost ~]# bash 1.sh
administrator
[js@localhost ~]# bash 1.sh
user
  • C语言风格
    在这里插入图片描述
[root@localhost ~]# ((1<2));echo $?
0
[root@localhost ~]# ((1==2));echo $?
1
[root@localhost ~]# ((1>2));echo $?
1
[root@localhost ~]# ((1>=2));echo $?
1
[root@localhost ~]# ((1<=2));echo $?
0
[root@localhost ~]# ((1!=2));echo $?
0
[root@localhost ~]# ((`id -u`>0));echo $?
1
[root@localhost ~]# (($UID==0));echo $?
0

1.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43734923/article/details/108391309

智能推荐

html横向自动滚动代码,不间断无缝滚动代码(横向、竖向)-程序员宅基地

文章浏览阅读1.6k次。一个设定宽度并且隐藏超出它宽度的内容的容器demo,里面放demo1和demo2,demo1是滚动内容,demo2为demo1的直接克隆副本,通过不断改变demo1的scrollTop或者scrollLeft达到滚动的目的,当滚动至demo1与demo2的交界处时直接跳回初始位置,因为demo1与demo2一样,所以分不出跳动的瞬间,从而达到"无缝"滚动的目的。向上滚动:style=overflo..._横向代码

图像处理与计算机视觉的经典书籍-程序员宅基地

文章浏览阅读293次。************************************************************************************************************************************************************************************ 在这里,我特别..._image processing, analysis and machine vision pdf

心动女友框架分析-程序员宅基地

文章浏览阅读222次。文档结构一 游戏入口二 游戏统计三 视频播放、音频播放四 支付五 http通讯六 游戏配置文件七 关键字屏蔽八 新手指引文档结构cocos2d-js-min.js cocos引擎egreth5sdk.js 白鹭SDKexif.js ???gameApi.js ..._心动女友 系统繁忙,错误代码1007

git常用命令-程序员宅基地

文章浏览阅读57次。git配置信息查看.gitignore 过滤规则1.17 git log命令后如果用ctrl+c退出就会卡死,如果用q退出就没问题git checkout .撤销本次工作空间修改git branch 查看本地分支git branch -r 查看远程分支git branch -a 查看所有分支git branch -vv 查看本地分支与远程分支关系git 查看分支起源#删除本地分支..._git log 后按了ctrl d

lotus-docs_new major version of npm available! 8.11.0 -> 10.3-程序员宅基地

文章浏览阅读224次。lotus-docs_new major version of npm available! 8.11.0 -> 10.3.0

Winform自定义MessageBox_winform messagbox-程序员宅基地

文章浏览阅读9.6k次,点赞7次,收藏13次。在使用Winform的MessageBox作为消息提示时,会有一些不方便的地方。如,MessageBox消息框弹出之后,如果不关闭就会阻塞函数的继续执行;不能自动关闭等。因此,子丰就自己仿照MessageBox的样式写了一个InformationBox提示框,可以实现自动关闭、永远显示在所有窗口的最上方等。首先,贴出几张图片展示一下InformationBox的效果;然后,具体介绍Informat_winform messagbox

随便推点

Window环境下Python不能卸载问题解决_pyt python 3,4,3 xthere is a problem with this win-程序员宅基地

文章浏览阅读1.3w次,点赞3次,收藏4次。问题描述:windows10系统 python版本3.4.3用360软件管家或者是从电脑的控制面板里的程序都无法卸载都会提示以下内容:there is a problem with this windows installer package.A programe run as part of the setup did not finish as expected.Contact_pyt python 3,4,3 xthere is a problem with this windows installerpackage.

Idea2017部署项目到tomcat时增加Artifacts的步骤_idea ssh项目 artifacts部署到tomcat-程序员宅基地

文章浏览阅读4.4k次。1、在Idea2017中maven构建的项目部署到tomcat容器中时,选择Edit Configration部署时,需要配置Deployment属性,选择war或者war exploded的发布方式时。要进行这个配置首先要点击添加Artifact,如下图所示:点击下面的“+”号时,发现没有Artifact按钮选项(上图是有配置过的,所以是有的)。2、解决法办:settings–>..._idea ssh项目 artifacts部署到tomcat

情感分析的入门简介,从词法、句法分析开始,到基础模型及深度学习模型的介绍_情感分析入门-程序员宅基地

文章浏览阅读851次。情感分析(Sentiment Analysis)是自然语言处理中一个非常重要且广泛研究的领域,它可以帮助企业或组织更好地了解客户对产品或服务的态度,从而制定符合用户需求的营销策略或产品改进方向。随着互联网和社交媒体等信息化时代的到来,传播开放、消费高速增长,各行各业都在追求个性化服务与个性化体验。如何准确识别并理解客户的心情、倾向、情绪和喜好,无疑是众多消费者关切的重点。目前,情感分析技术已经成为一种热门话题,有关部门也积极推出了针对不同场景的情感分析工具或产品。_情感分析入门

《UG NX8.0中文版完全自学手册》一1.5 文件操作-程序员宅基地

文章浏览阅读518次。本节书摘来自异步社区《UG NX8.0中文版完全自学手册》一书中的第1章,第1.5节,作者 刘昌丽 , 周进,更多章节内容可以访问云栖社区“异步社区”公众号查看1.5 文件操作UG NX8.0中文版完全自学手册本节将介绍文件的操作,包括新建文件、打开和关闭文件、保存文件、导入导出文件操作设置等。1.5.1 新建文件菜单栏:选择菜单栏中的“文件”..._ug nx 8.0中文版完全自学手册

基于MFC的学生成绩管理系统_mfc fdlg.domodal()-程序员宅基地

文章浏览阅读483次。简单的MFC的课程设计,部分功能还没有优化,仅供参考_mfc fdlg.domodal()

C11新特性(部分)_c11特性-程序员宅基地

文章浏览阅读1.2k次,点赞6次,收藏15次。1.类型推导2.nullptr指针空值3.基于范围的for循环4.typedef与using5.新增容器_c11特性

推荐文章

热门文章

相关标签