Linux
如何在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)
中,這個文件夾裡面都會有一個這個格式的YYYYMMDD
文件夾MAPPED_LOCATION
。現在我要做的是 - 我
file_timestamp
從 python 腳本傳遞,它將採用這種形式YYYYMMDD
,所以現在我需要檢查這個文件夾是否存在MAPPED_LOCATION
於每台機器的文件夾中。如果它在那裡,則列印出每台機器的該文件夾的完整路徑,否則以非零狀態退出 shell 腳本。如果它在任何一台機器上都不存在,我將退出 shell 腳本,並顯示此文件夾不存在於這台機器中且狀態非零的消息。
我不確定如何在 shell 腳本中進行此檢查?
d="${MAPPED_LOCATION}/$(python_script)" [ -d "$d" ] && echo "$d" || exit 1