shell脚本判断文件是否存在

【Shell-判断文件是否存在】使用Linux-Shell判断文件或目录是否存在 filename 如果 filename为常规文件,则为真。filename 如果 filename为符号链接,则为真。filename 如果 filename为目录,则为真。filename 如果 filename可执行,则为真。filename 如果 filename存在,则为真。filename 如果 filename可读,则为真。filename 如果 filename可写,则为真。filename 如果文件长度不为0,则为真。filename 如果文件是软链接,则为真。 阅读详情

有一个需求是判断某一个目录下文件是否存在,如果该文件不存在,则从当前目录拷贝文件到该目录。
由于没有学习写过shell脚本,晚上下班回来搜索后写出了如下的脚本,这里shell的if语法格式与C语言大致相同,语法格式:
if [ 条件 ]; then
条件成立
else
条件不成立
fi
fi是结束if语句。

version1.0

#!/bin/sh
myFile="/root/apue/example.xml  "

# 这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
cp  ./example.xml  /root/apue/
fi

echo "success"

在执行了多次后发现无论文件example.xml是否存在,都会将当前目录下的example.xml拷贝到/root/apue/目录下。
原因困扰我达半小时之久直到我在洗澡时才发现原来myFile=”/root/apue/example.xml “最后双引号前面多了空格,去掉空格后验证,目的达到,
附shell中常用的其它判断形式:

-a file exists. 
-b file exists and is a block 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. 
shell编程——流程控制 一、if条件判断 1.单分支if条件语句 单分支if条件语句最为简单,就是只有一个判断条件,如果符合条件则执行某个程序,否则什么事情都不做 if [条件判断式];then 程序 fi 单分支条件语句需要注意几个点: if语句使用fi结尾,和一般语言用大括号结尾不同 [条件判断式]就是使用test命令判断所以中括号和条件判断式之间必须有空格 then后面跟符合条件之后执行的程序,可以放在[ ]之后,用“;”分割。也可以换行写入,就不需要“;”了,比如单分支if语句还可以这样写: if [条件判断式] 阅读详情

相关推荐

CSH 入门基础 2 -- csh(C Shell)对文件/目录的判断及对参数的处理

其中,filename 和 dirname 分别表示文件名和目录名,filename_or_dirname 表示文件名或目录名。如果判断条件为真,则执行if语句块中的命令,否则不执行。在这个示例中,首先判断命令行参数的个数是否为2,如果不是,则输出使用说明并退出程序。如果参数个数正确,则分别获取第一个参数和第二个参数的值,并输出它们的值。在这个示例中,判断文件 test.txt 是否存在,如果存在,则输出"表示第一个参数,如果不为空,则参数存在。,其中n为参数的位置,arg为变量名。

CodingCos的博客 1万+

shell检测某个文件/文件夹是否存在

只跑一遍diff的时候,可能因为环境不稳定导致diff,因此循环跑某个场景的diff query。具体实现如下,get_diff.py结合具体的场景定,-input_file ${result_dir}/${query_file}_${head} -output_file ${result_dir}/${query_file}_${behind}这两个文件一样。当你在shell中需要检查一个文件是否存在时,通常需要使用到文件操作符。仅仅用来检查文件是常规文件(不是目录或设备)时返回true。

霜叶的博客 3万+

最新版IAR9.40和注册工具

IAR最新版的IDE在编译速度和代码提示等各个方面上都有很大提升,软件这个东西果然还是越新越好。之前的时候,IAR v9系列网上很多人都说能用,但是又没有把 IAR v9系列的注册方法写的很清楚,导致我一直都用注册老版本v8的方法去注册v9。结果注册后都会提示。

xue_nuo的博客 4万+

shell 查询文件是否存在

在 shell 中,可以使用 test 命令来查询文件是否存在。例如,要查询文件 /path/to/file 是否存在,可以使用以下命令: test -e /path/to/file && echo "File exists" || echo "File does not exist" 如果文件存在,则会输出 "File exists";如果文件不存在,则会输出 ...

weixin_35750483的博客 7527

Openbmc系列之自动化测试框架1

Openbmc作为当下BMC固件领域最流行的开源软件,具备从需求计划、开发、调试、测试、版本管理等完整的体系。在测试领域,Openbmc基于python的robotframework框架,实现Openbmc的自动化测试,为高效发布Openbmc版本提供有力支持。本文作为测试系列文档一,介绍Openbmc自动化测试虚拟Openbmc的环境搭建。

qq_20341747的博客 2109

UE5 Metahuman与Blender手动绑定:ARKit面部动画实战对比

面部动画是角色动画领域的核心技术,其核心原理在于通过驱动面部骨骼或混合形状来模拟真实肌肉运动,从而赋予数字角色生命力。这项技术的价值在于极大地提升了虚拟角色的表现力与沉浸感,广泛应用于游戏开发、影视制作、虚拟现实和实时交互应用。在技术实现路径上,开发者常面临工业化集成方案与高度自定义方案的选择。本文聚焦于使用行业标准的ARKit 52个面部混合形状数据,深度对比了虚幻引擎Metahuman的工业化流程与Blender手动绑定方案在视觉保真度、工作流效率、性能开销和扩展性上的差异,为不同项目规模与技术需求的团

weixin_33901926的博客 449

Shell脚本判断文件是否存在

转自::https://www.cnblogs.com/weijiangbao/p/7862278.html #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/Top" ]; then mkdir -p /Topfi #shell判断文件,目录是否存在或者具有权限 folder="/Top" file="/Top/test.txt" # -...

qingfenglu的专栏 1万+

你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号

功能强大 管理便捷—给您全新的路由体验 一键更换指定线路or批量更换所有IP/MAC/SSID 自定义走本地网络策略的分流功能 设备批发价、不限制拨号账号服务商 强大的单设备/多设备IP去重功能 批量导入、管理一号通线路 一键任意切换5G_WiFi(推荐)/2.4G_WiFi(建议不用) 设备支持PPTP/L2TP/SSTP/openVP.N等协议 独家支持openVPN,适用于网络受限用户 支持自行接入AP和交换机扩容 一键打开/关闭所有虚拟WiFi 一键隐藏/显示设备WiFi...

米粒儿 4249

shell 脚本如何判断文件是否存在

Linux系统脚本编程判断文件是否存在的所有选项,包含判断是否常规文件、是否目录、是否链接文件、是否可执行文件等。

白袍小将的博客 4万+

无人机避障——4DMmvRadar三维点云坐标转换到无人机坐标系(三)

无人机避障——4DMmvRadar三维点云坐标转换到无人机坐标系(三)

weixin_45390670的博客 1869

FLUENT 软件中design modeler网格划分后,导出失败:系统显示“在网格文件导出过程中出现异常。请将数据发送给您的技术支持供应商。”...如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1464

shell 脚本判断文件、文件夹是否存在

shell 脚本判断文件、文件夹是否存在

dragon_cdut的博客 5844

基于Simulink的锂电池热模型与温控管理仿真

本文完成了基于Simulink的锂电池热模型与温控管理仿真,实现了:✅ 建立电-热耦合产热模型✅ 构建集总参数热网络✅ 设计基于迟滞的风扇启停控制✅ 验证在高倍率工况下的有效温控能力✅ 为实际电池热管理系统(BTMS)提供设计原型。

xiaoheshang_123的博客 148

linux脚本判断文件存在,判断文件是否存在的shell脚本

判断文件是否存在的shell脚本,有详细的注释,很不错,有需要的朋友不妨参考下。复制代码 代码如下:#!/bin/sh# 判断文件是否存在# link:www.jquerycn.cn# date:2013/2/26myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限...

weixin_31473011的博客 1483

【ESP32摄像头开发实例】-视频流接入Home Assistant

在这个项目中,我们将使用ESP32-CAM板构建一个IP监控摄像头。ESP32摄像头将托管一个视频流媒体网络服务器,您可以使用网络中的任何设备进行访问。

视觉与物联智能 787

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Linux】关系运算符、shell判断脚本执行时是否有传参、判断文件/文件夹是否存在、判断字符串是否相等、判断上个命令执行是否正常、判断字符串是否为空

字符串或者文件夹为空判断方式都有好多种,我们只需要掌握一种且能解决问题即可,也不用全部掌握。

康师傅没有眼泪 1949

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

shell脚本判断文件或文件夹是否存在,和if后面带的参数的解释,与判断多个文件与文件建是否存在

1.判断文件夹是否存在 -d 判断当前文件夹是否存在 else 不存在 if [ -d "/root/shellTest1" ];then echo "文件夹已经存在" else echo "文件夹不存在" mkdir "/root/shellTest1" fi 2.判断文件是否存在 -f 判断当前文件是否存在 if [ -d "/root/a.txt" ];then echo "文件...

yyf960126的博客 5160

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

#!/bin/sh# 判断文件是否存在# link:www.jb51.net# date:2013/2/28 myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可...

chuozuiwei0223的博客 202

Linux和Aix中判断文件是否存在shell脚本

部分一 #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/path" ]; then mkdir -p /path #shell判断文件,目录是否存在或者具有权限 folder="/path" file="/path/test.txt" # -x 参数判断 $folder 是否存在并且是否具有可执行权限 if [ ! -x "$folder...

Cherry 1856

【Shell-HDFS】使用Shell脚本判断HDFS文件、目录是否存在

1、通过可以判断 HDFS 文件或目录是否存在,-test 一次只能传递一个测试参数,不能执行类似或者这种命令;2、返回值是不输出的,需要通过“$?这个特殊变量获取返回值;3、判断 HDFS 文件目录是否存在后,可以执行比如创建、删除目录或文件等操作,当然还有一些更高级的玩法,这里就不演示了。【Shell-HDFS】使用Shell脚本判断HDFS文件、目录是否存在

weixin_53543905的博客 3458

shell脚本中判断文件是否存在

之前在编写Shell脚本时,对判断文件是否存在,没有明确区分了相关的参数选项。 先看官网说明: Conditional Logic on Files -a file exists. -b file exists and is a block special file. -c file exists and is a character special file. -d fi

宽简厚重—博约 2682

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

实现代码一、#!/bin/sh# 判断文件是否存在# lilSzqFnk:www.jb51.net# date:2013/2/28myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限if [ ! -x "$myPath"]; thenmkdir "$myPath"f...

weixin_39916355的博客 481

判断文件是否存在的shell脚本代码!

判断文件是否存在的shell脚本代码! 实现代码一 #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/Top" ]; then mkdir -p /Topfi #shell判断文件,目录是否存在或者具有权限 folder="/Top" file="/Top/test.txt" # -x 参数判断 $folder 是否存在并且是否具有...

llljjlj的博客 324
上一篇: [CSAPP]信息的表示和处理
下一篇: python编程快速上手
52coder
博客等级 码龄17年 87粉丝 128原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值