首页 > 系统相关 >shell脚本中if的“-e,-d,-f”

shell脚本中if的“-e,-d,-f”

时间:2023-04-28 14:57:49浏览次数:36  
标签:脚本 shell string filename1 filename2 filename 如果 表达式

文件表达式
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真 
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真 
-w filename 如果 filename可写,则为真 
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。


整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于


字符串变量表达式
If  [ $a = $b ]                 如果string1等于string2,则为真
                                字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空,则为真
if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 


    逻辑非 !                   条件表达式的相反
if [ ! 表达式 ]
if [ ! -d $num ]               如果不存在目录$num


    逻辑与 –a                   条件表达式的并列
if [ 表达式1  –a  表达式2 ]


    逻辑或 -o                   条件表达式的或
if [ 表达式1  –o 表达式2 ]

 

实例:

复制代码
#!/bin/bash
#if [ -d x.txt ]

if [ -d ]
then
    cd toolchain; \
    ls *.patch | sort \
    #FILES=$$(ls *.patch | sort); \
    echo "ok"
else
    echo "nok"
fi
复制代码

每日一言:善学者尽其理,善行者究其难  ---荀子

参考文档: https://blog.csdn.net/superbfly/article/details/49274889 

标签:脚本,shell,string,filename1,filename2,filename,如果,表达式
From: https://www.cnblogs.com/exmyth/p/17362200.html

相关文章

  • Linux 实用shell脚本
    1.查看有多少远程的IP在连接本机#!/bin/bash#!/bin/bash#查看有多少远程的IP在连接本机(不管是通过ssh还是web还是ftp都统计)#使用netstat‐atn可以查看本机所有连接的状态,‐a查看所有,#-t仅显示tcp连接的信息,‐n数字格式显示#LocalAddress(第四......
  • Linux shell script read file line by line All In One
    LinuxshellscriptreadfilelinebylineAllInOneLinuxshell脚本逐行读取文件Ijustwanttoreplacethegrepcommand,andfilterouttherealIPaddress192.168.18.195withnativeshellsyntax.#!/usr/bin/envbashIPs=$(ifconfig|grep-oE'192\.168......
  • 【远程连接工具】xshell上用vi/vim小键盘无法使用的修改办法
    转至:https://blog.csdn.net/qq_44676946/article/details/117257410问题:后台开发人员经常使用Xshell来访问远程服务器,在用vim(或vi)编辑文件的时,使用小键盘数字键的时候,可能会输入一堆字母和换行,并不是数字。修改:1.修改会话属性2.选择类别“终端”-VT模式3.选择“初始数字键盘......
  • Shell编程学习笔记
    变量设置局部变量变量名=变量值设置全局变量export变量名=变量值删除变量unset变量名添加PATH环境变量PATH=$PATH:[路径]数组变量mytest=(onetwothreefourfive)echo$mytest--->one显示数组某个位置的变量echo${mytest[2]}--->three显示整个数......
  • 【牛客编程题】shell34题(Linux awk,grep命令)
    【牛客编程题】shell34题(Linuxawk,grep命令)SHELL01-22:基本文本处理SHELL23-28:nginx日志分析SHELL29-32:netstat练习做题链接:https://www.nowcoder.com/exam/oj?page=1&tab=SHELL%E7%AF%87&topicId=195参考资料:https://github.com/jaywcjlove/linux-command文章目录从awk命令开始对......
  • Linux-Centos 用crontab定时运行python脚本详细步骤
    服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难,特此记录下来。1.编辑crontab配置crontab-e服务器一般会安装好crontab,若没有安装请按命令安装yuminstallcrontabs2.编写配置文件当打开配置文件的时候,我们可以看到类似的配置代码。每一行都代表一个......
  • PSYCH 727 shell 实现
    LAB1(S1,2023)OUTLINEFORTHISLABThepurposeofthislaboratorysessionistofamiliariseyouwiththeLinuxenvironmentandtheshell,MATLAB,andthedataweareworkingwith(fMRIimages).Todaywewillcover:1.SettingUpRemoteAccesstotheLabVM2.......
  • Linux shell regular expression All In One
    LinuxshellregularexpressionAllInOneLinuxshell正则表达式demos(......
  • python+playwright 学习-58 Jenkins上使用 Pipeline 运行 playwright 自动化脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。jenkins环境准备需安装2个跟d......
  • Powershell 日常
    0x01环境变量#listPS>lsenv:#setPS>$env:_JAVA_LAUNCHER_DEBUG=1#unsetPS>delenv:_JAVA_LAUNCHER_DEBUG0x02Profile~$$profileC:\Users\xxx\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1~$type$profile#Truncateho......