Shell Scripting - 检查文件是否存在

时间:2014-10-01 15:58:34

标签: arrays shell

我试图编写一个shell脚本来检查文件夹中是否存在3个特定文件。我还想将结果存储在一个数组中。完成文件检查后,我想检查数组以确保在脚本可以继续之前至少存在一(1)个文件。

成功输出应如下所示:

File file1.sh..........OK!
File file2.sh..........NOT FOUND!
File file3.sh..........OK!
File check completed successfully.

输出失败应如下所示:

File file1.sh..........NOT FOUND!
File file2.sh..........NOT FOUND!
File file3.sh..........NOT FOUND!
At least one file is required to continue.

现在我正在使用if / else语句,如下所示:

#!/bin/bash
if [[ -f file1.sh ]]; then
  echo "File file1.sh........OK!";
  isFILE1=1
else 
  echo "File file1.sh........NOT FOUND!";
  isFILE1=0
fi

但是,我想做这样的事情。并且还将结果打印在与文件file1.sh .......:

相同的行上
#!/bin/bash
echo "File file1.sh.........";
if [[ -f file1.sh ]]; then
  echo "OK!";
  isFile[0]=1;
else 
  echo "NOT FOUND!";
  isFile[0]=0;
fi

我不确定如何检查数组中是否存在至少1个文件isFile。

1 个答案:

答案 0 :(得分:2)

要将输出保持在一行,请更改此

echo "File file1.sh.........";

echo -n "File file1.sh.........";

-n会抑制新行。

要检查数组中是否存在文件,请使用单数标记,如果找到文件,请将其更改为1