.sh 文件检查是否存在具有动态名称的文件

问题描述 投票:0回答:1

我使用如下脚本创建了一个示例 .sh 文件:

if [ -f "/Spool/Cognos/Cognos.xlsx" ]
then 
    echo "File exists"

else
  echo "File not exists"
fi

但是,我想进行更改,以便它可以读取具有动态名称的文件,将上传到文件夹 /Spool/Cognos 中的文件将如下所示: Cognos Aug24.xlsx, Cognos Sep24.xlsx, Cognos July24.xlsx等

如何更改上面脚本的 if 部分?我试过

if [ -f "/Spool/Cognos/Cognos*.xlsx" ]
用 * 作为通配符,但似乎不起作用。

shell command-line sh
1个回答
0
投票

你可以这样做:

for f in /Spool/Cognos/Cognos*.xlsx; do
  if test -f "$f"; then
    echo File exists.
  else
    echo File does not exist.
  fi
  break
done

如果您不介意覆盖位置参数,这也可以:

set -- /Spool/Cognos/Cognos*.xlsx
if test -f "$f"; then
  echo File exists.
else
  echo File does not exist.
fi
© www.soinside.com 2019 - 2024. All rights reserved.