2
有一些,我要檢查,如果他們在一個目錄中的文件。他們遵循一個標準命名約定除了文件擴展名,所以我想用通配符e.g:無法使用通配符SSH命令
YYYYMM=201403
FILE_LIST=`cat config.txt`
for file in $FILE_LIST
do
FILE=`echo $file | cut -f1 -d"~"`
SEARCH_NAME=$FILE$YYYYMM
ANSWER=`ssh -q [email protected] 'ls /home/to/some/directory/$SEARCH_NAME* | wc -l'`
returnStatus=$?
if [ $ANSWER=1 ]; then
echo "FILE FOUND"
else
echo "FILE NOT FOUND"
fi
done
通配符不工作,如何使它的外殼可見的任何想法?
在您的'ssh'命令中使用雙引號,以便該變量得到擴展。 – fedorqui
風格:擺脫使用ALL_CAPS_VARNAMES的習慣 - 您將有一天使用PATH並破壞您的腳本。 –
注意:無論$ ANSWER是什麼:'[$ ANSWER = 1]' - 當給定單個參數時,如果參數不爲空,則返回「true」。你的意思'[$ ANSWER -ne 0]'周圍[命令Bash的變量擴展]的運營商 –