나는 또한 쉘 스크립트와 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)
이 폴더 안에 이 형식의 폴더가 있습니다.YYYYMMDD
MAPPED_LOCATION
이제 내가 하고 싶은 것은 file_timestamp
Python 스크립트에서 전달하고 이 형식을 취하므로 이제 이 폴더가 각 컴퓨터의 폴더 안에 YYYYMMDD
있는지 확인해야 합니다 .MAPPED_LOCATION
있는 경우 각 컴퓨터에 대해 이 폴더의 전체 경로를 인쇄하고, 그렇지 않으면 0이 아닌 상태로 쉘 스크립트를 종료합니다. 두 컴퓨터 모두에 폴더가 없으면 해당 컴퓨터에 폴더가 없으며 상태가 0이 아니라는 메시지와 함께 쉘 스크립트를 종료합니다.
쉘 스크립트에서 이 검사를 수행하는 방법을 잘 모르겠습니다.
답변1
d="${MAPPED_LOCATION}/$(python_script)"
[ -d "$d" ] && echo "$d" || exit 1