http://blog.csdn.net/sws9999/article/details/4168155
#!/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
========================================
shell 判断语句
流程控制 "if" 表达式 如果条件为真则执行then后面的部分: if ....; then
....
elif ....; then
....
else
....
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等 -r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
######################################################### 含条件选择的shell脚本
对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包 括比较运算、判断文件是否存在等。基本的if条件命令选项有: -eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几 乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。 ################################################################## 判断文件是否存在 #!/bin/sh
today=`date -d yesterday +%y%m%d`
file="apache_$today.tar.gz"
cd /home/chenshuo/shell
if [ -f "$file" ];then
echo "OK"
else
echo "error $file" >error.log
mail -s "fail backup from test" chenshuo@soufun.com <error.log
fi
分享到:
相关推荐
# 判断文件是否存在并且具有可执行权限 testFile="/Volumes/MacBookProHD/Mr.Wen/08 shell命令/fileWen" if [[ ! -x "$testFile" ]]; then echo "文件不存在并且没有可执行权限" else echo "文件存在并有可执行...
在Shell脚本编程中,判断文件或目录的存在和权限是非常常见的操作。这有助于确保脚本在执行时能够正确处理各种情况。以下是一些关于如何在Shell中进行这些判断的关键知识点: 1. **文件存在性检查**: 使用`[ -f ...
- 比较两个文本文件中的MD5值,判断文件是否一致。 - 输出不一致的文件列表,包括只存在于一台服务器的文件以及内容发生变化的文件。 #### 脚本详解 1. **定义变量**: - `local_dir`:本地服务器的目录路径。 -...
Linux判断文件和文件夹是否存在shell判断文件,目录是否存在或者具有权限这里的-x 参数判断$myPath是否存在并且是否具有可执行权限这里的-d 参数判
# 判断文件,目录是否存在或者具有权限 folder="/var/www/" file="/var/www/log" # -x 参数判断 $folder 是否存在并且是否具有可执行权限 if [ ! -x "$folder" ]; then mkdir "$folder" fi # -d 参数判断 $folder ...
在PHP中,对于Web应用程序来说,经常需要判断文件目录的读写权限,以确保可以顺利地对目录进行操作,如写入文件、生成静态文件等。本文将介绍如何通过PHP函数来判断一个空目录是否具有读写权限,并提供相应的代码...
3. **文件权限**:使用`chmod`可以更改文件的权限设置,例如`chmod +x file.sh`为脚本文件添加执行权限。 4. **文件属性查看**:`ls -l`列出文件的详细信息,包括大小、权限、创建日期等。 5. **打包和压缩**:`tar`...
2. **设置文件权限**: - 修改脚本文件的属性为可执行:`chmod 755 backup.sh`。 3. **配置定时任务**: - 使用crontab配置定时任务,让脚本每天晚上00:00:00自动执行一次:`0 0 * * * /var/backup.sh > /dev/null ...
你可以使用`chmod`命令来改变文件或目录的权限,例如`chmod 755 file.txt`会给予文件所有者全部权限,用户组和其他用户只有读和执行权限。 在Shell中,特定变量用于存储和传递信息。`$1`到`$9`用于存储函数或命令行...
例如,使用`ShellExecute`时,可以通过返回值判断操作是否成功,如果返回值小于32,通常表示有错误发生。对于`SHFileOperation`,可以通过`fResult`字段检查结果。 5. **权限问题**:在进行文件操作时,需要考虑到...
无论是使用C语言还是Shell脚本,判断目录是否为空的核心在于有效地读取并统计目录内的条目数。通过上述方法,不仅可以准确判断目录状态,还能处理可能出现的各种异常情况,确保程序的稳定运行。掌握这些技巧对于开发...
- 检查FTP服务器上的目标目录是否成功接收了上传的文件。 ### 四、总结 通过以上分析和介绍,我们了解了如何在Linux环境下利用Shell脚本实现文件通过FTP服务器的上传功能。这不仅有助于提高工作效率,还能实现文件...
- **文件是否可执行**:`[-x "/bin/ls"]` 判断 `/bin/ls` 是否存在且具有可执行权限。 - **变量是否有值**:`[-n "$var"]` 判断 `$var` 变量是否有值。 - **字符串比较**:`["$a" = "$b"]` 判断 `$a` 和 `$b` 是否...
### bash判断文件或文件夹是否存在的Shell脚本详解 在Linux和类Unix系统中,Bash(Bourne Again SHell)是一种广泛使用的命令行解释器和脚本编写语言。对于自动化任务、文件管理和系统配置而言,Bash脚本是非常重要...
"Shell编程和Unix命令.pdf" ...本资源主要讲解 Unix 命令和 Shell 编程相关的知识点,包括文件安全、权限位、文件类型、文件属主和权限、setuid、chown 和 chgrp、umask、符号链接和 shell 命令等。
5. **条件表达式**:如`[ -f file ]`检查文件是否存在,`[ -d directory ]`检查是否为目录。 6. **流程控制**:包括`if`、`else`、`elif`(条件判断)、`for`、`while`(循环)、`case`(多分支选择)。 7. **函数...
5. **条件判断**:在脚本中使用`if`语句可以根据条件决定是否修改文件内容。 6. **循环处理**:`for`和`while`循环可以用于遍历文件的每一行或满足特定条件的行,进行批量修改。 7. **函数与脚本**:定义Shell函数...