Linux

如何在shell腳本中檢查特定文件夾中的文件夾?

  • April 11, 2014

我也在研究 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)中,這個文件夾裡面都會有一個這個格式的YYYYMMDD文件夾MAPPED_LOCATION

現在我要做的是 - 我file_timestamp從 python 腳本傳遞,它將採用這種形式YYYYMMDD,所以現在我需要檢查這個文件夾是否存在MAPPED_LOCATION於每台機器的文件夾中。

如果它在那裡,則列印出每台機器的該文件夾的完整路徑,否則以非零狀態退出 shell 腳本。如果它在任何一台機器上都不存在,我將退出 shell 腳本,並顯示此文件夾不存在於這台機器中且狀態非零的消息。

我不確定如何在 shell 腳本中進行此檢查?

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

引用自:https://unix.stackexchange.com/questions/124332