用于检查文件A或B是否在目录中存在的Shell脚本

时间:2017-04-04 11:02:04

标签: bash shell scripting

如何检查目录中是否存在文件A或文件B?

检查文件A是否存在的脚本如下:

#!/usr/local/bin/bash

if [ -e "/home/usr/file-A.txt" ]; then 
     echo "INFO: file-A is present" 
else 
     echo "INFO: file-A is not present"
fi

有哪些必要的修改?

2 个答案:

答案 0 :(得分:1)

以下代码可以解决这个问题:

if test -e "/home/usr/file-A.txt" ||  -e "/home/usr/file-B.txt"; then 
 echo "INFO: the required file is present" 
else
 echo "INFO: file was not found"
fi

[运算符只是测试的简写。

-o用作OR运算符。

答案 1 :(得分:0)

if [ -e "/home/usr/file-A.txt" ] || [ -e "/home/usr/file-B.txt" ]; then 
     echo "File present" 
else 
     echo "Not present"
fi

只需添加|| [ -e "/home/usr/file-B.txt" ],并if实施OR。

使用perl检查任何一个或两个都没有。

SWITCH: {
        if (-e "home/usr/file-A.txt" && -e "home/usr/file-B.txt") { print "Both files present"; last SWITCH; }
        if (-e "home/usr/file-A.txt" && ! -e "home/usr/file-B.txt") { print "Only File-A.txt present"; last SWITCH; }
        if (-e "home/usr/file-A.txt" && ! -e "home/usr/file-B.txt") { print "Only File-B.txt present"; last SWITCH; }
        else { print "None of the file present"; last SWITCH }
}