shell脚本学习(3)文件判断
shell常用的文件判断运算符如下:
-e 文件是否存在
-f 文件是否是普通文件(不是目录、设备文件、链接文件)
-s 表示文件大小不为0
-d 表示文件是否是目录
-b 表示是块设备(光驱、软盘等)
-c 表示是字符设备(键盘、声卡等)
-p 表示是管道
-h 表示是符号链接
-S 表示是否是socket
-r、-w、-x表示文件是否有可读、可写、可执行权限(指运行这个测试命令的用户)
f1 -nt f2 f1是否比f2新(new than)
f1 -ot f2 f1是否比f2旧(old than)
f1 -ef f2 f1和f2是否是相同文件的硬链接
使用!时表示上述结果取反,由于内容较多,这里不一一列举了。下面一个例子可以作为编程参考
myfile="aa.txt" if [ ! -f $myfile ]; thenecho $myfile" is not exist"touch $myfile elseecho $myfile" is exist" fiif [ ! -s $myfile ]; thenecho "hello, my master" > $myfile elseecho $myfile" is not null" fi
转载于:https://www.cnblogs.com/me80/p/7990007.html
shell脚本学习(3)文件判断相关推荐
- Shell脚本学习-阶段二
文章目录-Shell脚本学习阶段二 前言 shell脚本实操2 1.获取随机字符串或数字 2.定义一个颜色输出字符串函数 3.批量创建用户 4.检查软件包是否安装 5.检查服务状态 6.检查主机存活状 ...
- linux shell脚本学习
linux shell脚本学习笔记 文章目录 linux shell脚本学习笔记 一.脚本入门 1.我的第一个linux脚本 2.关于date命令的知识 二.shell脚本中的变量 1.为什么脚本需要 ...
- shell 脚本学习笔记
shell 脚本学习总结: 文件表达式 -e filename 如果 filename存在,则为真 -s file exists and has a size greater than zero. 判 ...
- Shell脚本(学习笔记1)
shell脚本学习记录 为什么学习shell脚本? 在一些复杂的linux维护工作过程中,大量的重复性的输入和交互操作不但费时费力,而且容易出现错误:然而编写shell脚本程序,可以批量处理.自动化的 ...
- shell 脚本学习及troubleshooting
shell 脚本学习及troubleshooting Shell问题一: $ FILENAME="My Document" 含有空格的文件名 $ ls $FILENAME 列出来试 ...
- linux定时压缩脚本,使用shell脚本对日志文件进行定时压缩
系统在服务器上运行时,会产生大量的日志,每天产生的日志量达到几个G,甚至几十个G,这样磁盘空间很快就会满,系统也就挂掉了,所以需要对日志文件进行压缩,压缩之后的日志文件通常只有原文件十分之一,甚至更少 ...
- Shell脚本实战之文件批量创建和修改
Shell脚本实战之文件批量创建和修改 一.脚本要求 二.脚本内容 三.脚本运行结果 一.脚本要求 1.所有操作在/python下 2.批量创建12个以py后缀结尾的文件,文件名中必须包含_hcip, ...
- BASH命令和SHELL脚本学习
BASH命令和SHELL脚本学习 转载于:https://www.cnblogs.com/huolong123/p/6228049.html
- shell脚本:实现文件覆盖写入、文件内容追加写入
文章目录 shell脚本:实现文件覆盖写入.文件内容追加写入 实现说明: 重要代码: 1. 覆盖写文件 ">" 2. 追加写文件">>" sh ...
- git bash shell 脚本 :从文件获取git仓库列表 git clone所有仓库
前言 如果有很多的git 仓库地址,一个个git clone 比较的繁琐,这时可以使用shell 脚本来做这件事情 首先需要把所有的git 仓库的url(地址),放在一个指定的文件内,执行shell脚 ...
最新文章
- SQL语言包含4个部分
- socket阻塞和非阻塞的区别
- ASP.NET Core 依赖注入
- linux系统基础与应用,Linux操作系统:基础、原理与应用
- MySQL索引的索引长度问题
- 说到 SASE,新的安全范式有哪些
- underscore.js 源码分析5 基础函数和each函数的使用
- DotNet操作Excel汇总
- std::set, std::list, std::vector在erase的区别
- C++回调函数作为通信机制
- (一)数据结构和算法、线性结构
- 错误java.lang.NoClassDefFoundError: org/jaxen/VariableContext
- 什么是一维表 什么是二维表
- Excel如何快速合并相同单元格
- 无力吐槽的 create-shortcut .exe
- 很多程序员都没搞明白的时间与时区知识 - 24时区/GMT/UTC/DST/CST/ISO8601
- 概率密度雅可比行列式
- Ubuntu下使用GCC开发STM32的环境的搭建
- 【Java系列】数据库系统的可视化界面开发
- 前端实现表格中的颜色变化以及不同点击效果