linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

实现代码一、

#!/bin/sh

# 判断文件是否存在

# lilSzqFnk:www.jb51.net

# date:2013/2/28

myPath="/var/log/httpd/"

myFile="/var /log/httpd/access.log"

# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限

if [ ! -x "$myPath"]; then

mkdir "$myPath"

fi

# 这里的-d 参数判断$myPath是否存在

if [ ! -d "$myPath"]; then

mkdir "$myPath"

fi

# 这里的-f参数判断$myFile是否存在

if [ ! -f "$myFile" ]; then

http://www.cppcns.comtouch "$myFile"

fi

# 其他参数还有-n,-n是判断一个变量是否是否有值

if [ ! -n "$myVar" ]; then

echo "$myVar is empty"

exit 0

fi

# 两个变量判断是否相等

if [ "$var1" = "$var2" ]; then

echo '$var1 eq $var2'

else

echo '$var1 not eq $var2'

fi

实现代码二、

#shell判断文件夹是否存在

#如果文件夹不存在,创建文件夹

if [ ! -d "/myfolder" ]; then

mkdir /myfolder

fi

#shell判断文件,目录是否存在或者具有权限

folder="/var/www/"

file="/var/www/log"

# -x 参数判断 $folder 是否存在并且是否具有可执行权限

if [ ! -x "$fo

-f 和-e的区别

Conditional Logic on Files

-a file exists.

-b file exists and is a blocklSzqF special file.

-c file exists and is a character special file.

-d file exists and is a directory.

-e file exists (just the same as -a).

-f file exists and is a regular file.

-g file exists and has its setgid(2) bit set.

-G file exists and has the same group ID as this process.

-k file exists and has its sticky bit set.

-L file exists and is a symbolic link.

-n string length is not zero.

-o Named option is set on.

-O file exists and is owned by the user ID of this process.

-p file exists and is a first in, first out (FIFO) special file or

named pipe.

-r file exists and is readable by the current process.

-s file exists and has a size greater than zero.

-S file exists and is a socket.

-t file descriptor number fildes is open and associated with a

terminal device.

-u file exists and has its setuid(2) bit set.

-w file exists and is writable by the current process.

-x file exists and is executable by the current process.

-z string length is zero.

是用 -s 还是用 -f 这个区别是很大的!

本文标题: 判断文件是否存在的shell脚本代码

本文地址: http://www.cppcns.com/os/linux/92476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux下多功能编辑器,Linux下的编辑器——vi大全

xp 交换两个字符位置ddp 上下两行调换J 上下两行合并dG 删除所有行d$ 从当前位置删除到行尾y$ 从当前位置复制到行尾, 如果要粘贴到其他地方 p就可以了:ab string strings例如 ":ab usa United States of America" ,当你在文见里插入 usa 时United States of America…

Mysql中几种插入效率的实例对比

前言 最近因为工作的需要,要在Mysql里插入大量的数据大约1000w,目测会比较耗时。所以现在就像测试一下到底用什么插入数据的方法比较快捷高效。 下面就针对每一种方法分别测试不同数据量下的插入效率。 测试数据库的基本与操作如下: mysq…

linux第三方模块参数,nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)...

nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境搭建:第一步:在/usr/local/src/下下载模块压缩包:wget http://wiki.nginx.org/images/5…

Java基础面试题与答案

八种基本数据类型以及包装类 八种基本数据类型默认值?大小?范围区间?包装类的缓存区间? 序号类型名称默认值大小最小值最大值包装类缓冲区间1booleanfalse1B0(false)1(true)Boolean无2byte(byte)01B-128127Byte-128 ~ 1273char‘…

学习vim的linux游戏,PacVim:一个学习 vim 命令的命令行游戏 | Linux 中国

作者 | Sk 译者 | geekpi 💎 💎 共计翻译:735 篇 贡献时间:1691 天你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧。Vim 是编写和编辑代码的绝佳编辑器。然而&#x…

Java多线程面试题与答案

线程 线程与进程的区别是什么? 进程指的是应用程序在操作系统中执行的副本(系统分配资源的最小单位),线程是程序执行的最小单位;进程使用独立的数据空间,而线程共享进程的数据空间。 线程状态图 多线程会…

用linux集成电路版图设计,集成电路版图设计报告.doc

集成电路版图设计报告集成电路版图设计实验报告班 级:微电子1302班学 号:1306090226姓 名:李根日 期:2016年1月10日一:实验目的:熟悉IC设计软件Cadence Layout Editor的使用方法,掌握集成电路原…

JVM面试题与答案

JVM内存布局 JVM在内存布局上可以分为哪些区域? 堆(线程共享):GC的主要回收地,包含几乎所有的实例对象、字符串常量池;元空间(线程共享):在本地内存分配,包…

md0和md1linux软raid,软RAID管理命令mdadm详解

mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区、使用CPU实现,降低CPU利用率),因此在生产…

Spring、SpringBoot常见面试题与答案

Spring Spring Bean 的作用域有哪些?它的注册方式有几种? Spring 容器中管理一个或多个 Bean,这些 Bean 的定义表示为 BeanDefinition 对象,具体包含以下重要信息: Bean 的实际实现类;Bean 的引用或者依赖…

c语言本身有输入输出语句正确错误,C语言模拟选择题

导出试题1. 以下叙述正确的是。A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误2. 以下叙述不正确的是。A) 一个C源程序可由一个或多个…

Dubbo常见面试题与答案

Dubbo的基础知识 Dubbo的核心架构是怎样的? Registry:注册中心。 负责服务地址的注册与查找,服务的 Provider 和 Consumer 只在启动时与注册中心交互。注册中心通过长连接感知 Provider 的存在,在 Provider 出现宕机的时候&#…

99行不用指针 c语言贪食蛇,关于C语言指针的问题

#include"iostream.h"structstudent{longnum;intscore;student*next;};student*creat();voidprint(student*head);student*insert(student*head,student*stud);student*del(student*head,longnum);voidmain(){student*headNULL,*stud;longnum;intscore;cout<建立学…

Redis常见面试题与答案

Redis的基本数据类型 Redis有哪些常用的数据类型&#xff1f; String&#xff1a;字符串&#xff08;最常用的缓存&#xff09;Hash&#xff1a;哈希&#xff08;保存对象&#xff09;List&#xff1a;有序列表&#xff08;消息队列&#xff09;Set&#xff1a;无序集合&…

c语言利用文件体写在桌面上,在C语言中怎样新建一个文件夹?

满意答案JacinthLancet推荐于 2017.10.12采纳率&#xff1a;56% 等级&#xff1a;12已帮助&#xff1a;35899人函数名: mkdir功 能: 建立一个目录(文件夹)用 法: int mkdir(char *pathname);程序例: (在win-tc和Dev-c下运行通过)#include #include #include int main(void){…

MySQL常见面试题与答案

存储引擎 InnoDB的主要特点是什么&#xff1f; MySQL5.5版本之后的默认存储引擎&#xff1b;支持事务&#xff1b;支持行级锁&#xff1b;支持MVCC&#xff1b;支持聚集索引方式存储数据。 InnoDB与MyISAM的区别&#xff1f; 存储引擎MyISAMInnoDB存储结构MyISAM在磁盘上存…

C语言6F多少,求助!!请人帮忙画C语言程序流程图.紧急!!!

#include <stdio.h>#define N 10struct student //第一步, 根据具体情况定义结构体类型。{ double num; /*学号*/float score[5]; //数组依次存放英语,数学,计算机基础及平均分};void input( struct student arr[ ], int ) ; /*函数原型*/void aver ( struct student arr…

java如何将String转换为enum

问题 假设定义了如下的enum&#xff08;枚举&#xff09;&#xff1a; public enum Blah {A, B, C, D }已知枚举对应的String值&#xff0c;希望得到对应的枚举值。例如&#xff0c;已知"A"&#xff0c;希望得到对应的枚举——Blah.A&#xff0c;应该怎么做&#x…

java解析c语言的结构体,JAVA中如何实现C中的结构体数组的功能?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼比如我想实现在C中的结构体数组&#xff1a;struct student{string Sno;string Sname;string Sgen;string Sdept;int Sage;student(){Sno "";Sname "";Sgen "男";Sdept "";Sage 0;}}…

Java 解决跨域问题

JAVA | Java 解决跨域问题 文章目录JAVA | Java 解决跨域问题引言什么是跨域&#xff08;CORS&#xff09;什么情况会跨域解决方案前端解决方案后端解决方案具体方式一、使用Filter方式进行设置二、继承 HandlerInterceptorAdapter三、实现 WebMvcConfigurer四、使用Nginx配置五…