1. shell判断文件,目录是否存在或者具有权限
2. #!/bin/sh
3.
4. myPath="/var/log/httpd/"
5. myFile="/var /log/httpd/access.log"
6.
7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
8. if [ ! -x "$myPath"]; then
9. mkdir "$myPath"
10. fi
11.
12. # 这里的-d 参数判断$myPath是否存在
13. if [ ! -d "$myPath"]; then
14. mkdir "$myPath"
15. fi
16.
17. # 这里的-f参数判断$myFile是否存在
18. if [ ! -f "$myFile" ]; then
19. touch "$myFile"
20. fi
21.
22. # 其他参数还有-n,-n是判断一个变量是否是否有值
23. if [ ! -n "$myVar" ]; then
24. echo "$myVar is empty"
25. exit 0
26. fi
27.
28. # 两个变量判断是否相等
29. if [ "$var1" = "$var2" ]; then
30. echo '$var1 eq $var2'
31. else
32. echo '$var1 not eq $var2'
33. fi
-f 和-e的区别
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 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 这个区别是很大的!
- 浏览: 1253084 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
发表评论
-
CentOS6.5系统更改yum源为163
2016-11-16 16:49 6931、备份系统源 # cd /etc/yum.repos.d ... -
shell脚本----if(数字条件,字符串条件,字符串为空)
2016-04-07 17:58 1457二元比较操作符,比较变量或者比较数字. 注意数字与字符串的 ... -
shell bash判断文件或文件夹是否存在
2016-03-25 09:08 2053#shell判断文件夹是否存在 #如果文件夹不存 ... -
Linux保持SSH连接时间设置
2015-12-02 09:33 1055连接SSH服务器刚刚离开一会就断开,不得不需要反复连接服务器 ... -
Centos安装Vsftpd
2015-11-03 19:10 886安装部分摘自开源中国,最后红色部分解决无法登陆(cannot ... -
Linux使用jstat命令查看jvm的GC情况
2015-09-09 17:20 2222命令格式 jstat命令命令格式: jstat [Op ... -
如何从CPAN安装Perl模块
2015-06-11 11:20 1157Perl有一个从外部导入Perl模块的机制,从外部导入到Pe ... -
ubuntu - 下更改语言环境
2015-05-05 14:56 9762.server 对于使用ubuntu server版的朋友 ... -
crontab命令的使用方法
2015-04-29 19:15 671crontab命令常见于Unix和Linux的操作系统之中, ... -
关于nginx的启动和停止、平滑重启
2015-04-29 16:01 1792一、nginx的启动 /usr/local/nginx/s ... -
CentOS修改DNS地址方法
2015-04-24 17:02 796DNS是用于解析域名后端IP的服务器。Linux和Windo ... -
Ubuntu 修改locale
2015-02-07 12:30 807vim /etc/default/locLANG=" ... -
Ubuntu 12 ulimit 系统最大打开文件个数 设置
2015-02-07 12:28 994配置/etc/profile 最后一行加上 # u ... -
crontab ubuntu
2015-02-05 11:48 1031第一次使用crontab 时,会出现 no crontab ... -
tar打包排除某个目录
2015-02-05 11:47 1694tar zcvf fd.tar.gz * --exclu ... -
Ubuntu下安装nginx
2015-01-16 11:49 20101)、下载 sudo wget http://ngi ... -
五种方法实现Linux批量重命名文件
2014-11-17 18:35 2250Linux批量重命名文件会涉及到改变一个字母、改变一些相连 ... -
linux 解压war包
2014-10-14 08:28 921网上很多人说用jar包解 ... -
centos6.4-ssh-POSSIBLE BREAK-IN ATTEMPT
2014-09-13 14:34 1185[root@rd-1 yum.repos.d]# scp Ce ... -
CentOS 中ulimit值调整并永久生效的方法
2014-08-28 11:56 2921echo -ne " * soft nofil ...
相关推荐
linux shell 判断文件夹是否存在 为空 文件是否存在
第二步,检测文件或目录是否存在: hdfs dfs -test -e 文件或目录名 第三步,查看检测结果: echo $? 若输出结果为0,则说明文件或目录存在,若为1,则说明文件或目录不存在。 二、Java代码实现 import org.apache...
shell自动化脚本,自动判断文件夹(目录)是否存在,如不存在自动创建,可执行,下载可测试
- `-G 文件名`:判断文件是否存在且其组ID与当前进程相同。 - `-k 文件名`:检查文件是否存在且设置了sticky位。 - `-n 字符串`:判断字符串长度是否不为零。 - `-o 选项名`:检测命名的选项是否设置。 - `-O 文件名...
在SQL Server中,有时我们需要对数据库外部的文件进行操作,比如判断文件是否存在或者根据需要删除文件。本篇文章将详细介绍如何使用SQL Server内置的扩展存储过程来实现这一目标,特别是当文件可能包含空格时如何...
在实际编程中,应根据项目需求和所使用的库选择合适的判断文件存在的方法。同时,考虑到性能和代码可读性,建议选择最简洁且适合上下文的方法。在学习和使用这些方法时,可以参考压缩包中的文件,结合代码示例进行...
### Shell 判断文件是否为空的核心方法 在Shell脚本中,经常需要检查文件是否为空,这对于数据处理和程序逻辑控制非常重要。本文档介绍了一种简洁有效的检查文件是否为空的方法,并详细解释了其中涉及的关键命令...
#shell判断文件夹是否存在 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi # 判断文件,目录是否存在或者具有权限 folder="/var/www/" file="/var/www/log" # -x 参数判断 $folder 是否存在并且是否具有可执行...
- 比较两个文本文件中的MD5值,判断文件是否一致。 - 输出不一致的文件列表,包括只存在于一台服务器的文件以及内容发生变化的文件。 #### 脚本详解 1. **定义变量**: - `local_dir`:本地服务器的目录路径。 -...
前言 大家在工作的时候可能经常会遇到这样的需求,在类Unix系统的Bash环境下,怎样检查...下面的命令,则使用Shell的条件表达式,判断/etc/hosts文件是否存在: [ -f /etc/hosts ] && echo Found || echo Not found
这些操作符主要用于判断文件的状态,例如是否存在、是否为目录等,非常实用。 通过本文介绍的这些操作符和示例,你可以更好地理解和掌握Shell脚本中字符串和数字的比较方法,从而编写出更加强大和灵活的脚本程序。
0405_极智开发_解读shell中判断文件或者文件夹是否存在
* -b:判断文件是否存在并且是块文件 * -c:判断文件是否存在并且是字符文件 * -d:判断 pathname 是否存在并且是一个目录 * -e:判断 pathname 是否存在 * -f:判断文件是否存在并且是正规文件 * -g:判断文件是否...
在Shell脚本编程中,判断文件或目录的存在和权限是非常常见的操作。这有助于确保脚本在执行时能够正确处理各种情况。以下是一些关于如何在Shell中进行这些判断的关键知识点: 1. **文件存在性检查**: 使用`[ -f ...
4. **Shell判断文件是否存在及处理**: 在Shell脚本中,可以使用条件语句`if [ ! -f "$file" ]; then touch "$file"`来判断文件是否存在。如果文件不存在,`touch`命令将创建一个新的文件。 5. **fsimage与edit的...
以上只是Shell文件操作的基础,实际使用中还可以结合条件判断、循环等结构编写复杂的脚本来自动化管理文件系统。通过学习和熟练运用这些命令,可以极大地提高工作效率,特别是在需要批量处理文件时。在编写脚本时,...
- **文件是否存在**:`[-f "somefile"]` 判断是否是一个文件。 - **文件是否可执行**:`[-x "/bin/ls"]` 判断 `/bin/ls` 是否存在且具有可执行权限。 - **变量是否有值**:`[-n "$var"]` 判断 `$var` 变量是否有值。...