如何在shell脚本中检查特定文件夹内的文件夹?

如何在shell脚本中检查特定文件夹内的文件夹?

我也在研究 shell 脚本和 python 脚本。 Python 脚本将某些参数传递给我的 shell 脚本,然后我在 shell 脚本中使用这些参数。

下面是我的 shell 脚本 -

#!/bin/bash

readonly MACHINES=(machineB machineC)
readonly MAPPED_LOCATION=/bat/peta/t1_snapshot
readonly FILE_TIMESTAMP=$file_timestamp

// old code which I am using to get the full path of the latest folder in each machine
dir1=$(ssh -o "StrictHostKeyChecking no" david@${MACHINES[0]} ls -dt1 "$MAPPED_LOCATION"/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] | head -n1)
dir2=$(ssh -o "StrictHostKeyChecking no" david@${MACHINES[1]} ls -dt1 "$MAPPED_LOCATION"/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] | head -n1)

echo $dir1
echo $dir2

// not sure what should I do here?
dir3=$MAPPED_LOCATION/$FILE_TIMESTAMP

在每台机器上,这个文件夹里面(machineB and machineC)都会有一个这种格式的文件夹。YYYYMMDDMAPPED_LOCATION

现在我想做的是 - 我file_timestamp从 python 脚本传递,它将采用这种形式,YYYYMMDD所以现在我需要检查这个文件夹是否存在MAPPED_LOCATION于每台机器的文件夹内。

如果存在,则打印出每台计算机的该文件夹的完整路径,否则以非零状态退出 shell 脚本。如果任何一台机器中都不存在该文件夹,我将退出 shell 脚本,并显示一条消息,表明该文件夹不存在于该机器中且状态为非零。

我不确定如何在 shell 脚本中进行此检查?

答案1

d="${MAPPED_LOCATION}/$(python_script)" 
[ -d "$d" ] && echo "$d" || exit 1

相关内容