[转] Linux shell判断文件和文件夹是否存在

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

#!/bin/sh  

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
  touch "$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  
时间: 2024-10-31 06:44:03

[转] Linux shell判断文件和文件夹是否存在的相关文章

Linux shell ftp命令下载文件 根据文件日期

需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

Linux shell判断文件和文件夹是否存在

#!/bin/sh 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 mkdi

linux shell 之终端读写文件数据流和重定向>,<,<<,>>

终端实现文件中数据流的读写: 重定向命令列表如下: 命令 说明 command > file 将输出重定向到 file.将终端数据写到文件file中 command < file 将输入重定向到 file.将文件 command >> file 将输出以追加的方式重定向到 file. n > file 将文件描述符为 n 的文件重定向到 file. n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file. n >& m 将输出文

Linux Shell 04 数字/字符串/文件测试

一. 数字测试 格式:n1  -op  n2 测试操作op: eq/ne/le/ge/lt/gt    -->    等于/不等于/小于等于/大于等于/小于/大于 1. 数字比较可以使用特殊的(())操作符,用法更接近于C语言,见数字测试. 二. 字符串测试 s1 = s2 #s1与s2是否相同 s1 != s2  #s1与s2是否不相同 s1 < s2 #s1是否小于s2 s1 > s2 #s1是否大于s2 -n s1 #s1长度是否大于0 -z s1  #s1长度是否为0 1. 字符

linux shell 命令获取字符串/文件的MD5值

获取字符串的MD5值: 字符串"hello"的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d911017c592 命令解释: md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取. echo -n : 不打印换行符. cut:  cut用来从标准输入或文本文件中剪切列或域.剪切文本可以将之粘贴到一个文

写了一个简单的Linux Shell用来下载文件

#!/bin/sh for (( i=0; i<30; i=i+1 )); do # 利用spider来探测请求的资源是否存在,并把请求的结果写入到一个文件 wget --spider --http-user=username --http-password=passwd --no-check-certificate -e "https_proxy=http://URL:port" fileURL &> spiderResult.txt # 把文件内容读取到一个变量

Linux shell 计算两个文件的并集、交集、差集

假设我们现在有两个文件 a.txt .b.txt a.txt 中的内容如下: a c 1 3 d 4 b.txt 中的内容如下: a b e 2 1 5 # Example 01 计算并集: [[email protected]_81_181_centos ~]# sort -u a.txt b.txt 1 2 3 4 5 a b c d e [[email protected]_81_181_centos ~]# # Exmaple 02 计算交集: [[email protected]_81

Linux Shell系列教程之(十七) Shell文件包含

本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. 所以高级语言都支持文件包含或者包的引用,Shell当然也支持,接下来就为大家介绍下Shell文件包含的相关知识. 一.Shell文件包含格式 Shell文件包含的格式如下,使用点号“.”+文件名包含: . filename 或者source+文件名: source filename 二.Shell

在window上使用 linux shell 删除文件夹递归地

目的 在windows环境下, 整理代码,代码中含有 .svn 文件夹, 此文件夹在所有受控目录下都存在, 需要统一删除. 但是对windows的shell不熟悉,想用linux rm来删除, 如何实现? 方法 1.找到运行linux shell的工具, cygwin限制为安装目录. git工具可以执行shell,正适合此场景. 2. 鼠标右键点击目录目录, 选择 “git bash here” 3. 执行如下命令: find . -name ".svn"  | xargs rm -r