私はシェルスクリプトに取り組んでおり、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)
には、このフォルダーMAPPED_LOCATION
内にこの形式のYYYYMMDD
のフォルダーがあります。
今私がやろうとしているのは-pythonスクリプトからfile_timestamp
を渡すことです。このスクリプトはYYYYMMDD
の形式になりますので、これを確認する必要があります。フォルダはMAPPED_LOCATION
フォルダ内にあるか、各マシンにありません。
存在する場合は、各マシンのそのフォルダのフルパスを出力します。それ以外の場合は、ステータスがゼロ以外のシェルスクリプトを終了します。いずれのマシンにも存在しない場合は、このフォルダがゼロ以外のステータスでこのマシンに存在しないというメッセージを表示して、シェルスクリプトを終了します。
シェルスクリプトでこのチェックを行う方法がわかりませんか?
d="${MAPPED_LOCATION}/$(python_script)"
[ -d "$d" ] && echo "$d" || exit 1