シェルスクリプトで特定のフォルダ内のフォルダを確認するには?

シェルスクリプトで特定のフォルダ内のフォルダを確認するには?

私もシェルスクリプトとPythonスクリプトを調べています。 Pythonスクリプトは特定のパラメータをシェルスクリプトに渡し、シェルスクリプトでこのパラメータを使用します。

以下は私のシェルスクリプトです -

#!/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_timestampPythonスクリプトから渡され、この形式をとるので、このフォルダが各コンピュータのフォルダ内にYYYYMMDDあることを確認する必要があります。MAPPED_LOCATION

存在する場合は、コンピュータごとにこのフォルダのフルパスを印刷し、そうでない場合はゼロ以外の状態でシェルスクリプトを終了します。両方のコンピュータにフォルダがない場合は、そのコンピュータにフォルダがなく、ステータスがゼロでないというメッセージでシェルスクリプトを終了します。

シェルスクリプトでこのチェックを実行する方法がわかりません。

ベストアンサー1

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

おすすめ記事