怎么在执行linux命令的时候满足某种条件才执行
如何在执行linux命令的时候满足某种条件才执行?
我有个appliation里面需要执行一个mv的shell,e.g: mv test001.csv test.txt。但是现在有个情况是有的时候这个test001.csv不存在 (test001.csv是个动态的名字,只要判断.csv文件就行),就不用执行。请问我如何写一条shell判断当目录下有.csv文件时执行mv命令,否则什么都不做。谢谢
------解决方案--------------------
ls test001.csv && mv test001.csv test.txt
------解决方案--------------------
if [ -e "test001.csv" ]; then
mv test001.csv test.txt
fi
我有个appliation里面需要执行一个mv的shell,e.g: mv test001.csv test.txt。但是现在有个情况是有的时候这个test001.csv不存在 (test001.csv是个动态的名字,只要判断.csv文件就行),就不用执行。请问我如何写一条shell判断当目录下有.csv文件时执行mv命令,否则什么都不做。谢谢
------解决方案--------------------
ls test001.csv && mv test001.csv test.txt
------解决方案--------------------
if [ -e "test001.csv" ]; then
mv test001.csv test.txt
fi
- PHP code
bash中的if使用方法: if condition then statements [elif condition then statements. ..] [else statements ] fi str1 = str2,字符串1匹配字符串2 str1 != str2,字符串1不匹配字符串2 str1 > str2,字符串1大于字符串2 str1 < str2,字符串1小于字符串2 -n str,字符串不为null,长度大于零 -z str,字符串为null,长度为零 -a file :file 存在 -d file :file存在并是一个目录 -e file :file 存在,同- a -f file :file 存在并且是一个常规的文件(不是目录或者其他特殊类型文件) -r file :有读的权限 -s file :文件存在且不为空 -w file :有写的权限 -x file :有执行的权限,或者对于目录有search的权限 -N file :在上次读取后,文件有改动 -O file :own所属的文件 -G file :group所属的文件 file1 -nt file2 :file1 比 file2 更新,以最后更新时间为准 file1 -ot file2 :file1 比 file2 更旧 ,以最后更新时间为准 -lt,小于 -le,小于等于 -eq,等于 -ge,大于等于 -gt,大于 -ne,不等于
------解决方案--------------------
=。= 好吧...其实只要第一个命令能执行成功并且不修改文件,什么命令都可以...
cat test001.csv 1>/dev/null 2>&1 && mv test001.csv test.txt
test test001.csv 1>/dev/null 2>&1 && mv test001.csv test.txt