$ TMP_RPT_FILEと$ TMP_RPT_FILE1という2つのファイルがあります。 $ TMP_RPT_FILE - メーター読み取り値と$ TMP_RPT_FILE1 - メーターID。このファイルにデータがある場合は、印刷する必要があります。この方法で試しましたが、うまくいきません。誰でもこの問題を解決するのに役立ちますか?
if [ -s "$TMP_RPT_FILE" || -s "$TMP_RPT_FILE1" ]
then
if [ -s "$TMP_RPT_FILE" ]
then
print "Meters with READINGS ONLY for $RPT_DT" > $RPT_FILE
cat $TMP_RPT_FILE | uniq >> $RPT_FILE
fi
if [ -s "$TMP_RPT_FILE1" ]
then
print "Meters with id for $RPT_DT" > $RPT_FILE
cat $TMP_RPT_FILE1 | uniq >> $RPT_FILE
fi
cat $RPT_FILE | \
$MAILCMD -s "$HOST: Meters with READINGS Only and No Profile Data for $RPT_DT" $MAILLIST
fi
答え1
() 構文||
ではシェル演算子を使用できません。test
[ ... ]
使用-o
if [ -s "$TMP_RPT_FILE" -o -s "$TMP_RPT_FILE1" ]
または2つのテストに分割されます。
if [ -s "$TMP_RPT_FILE" ] || [ -s "$TMP_RPT_FILE1" ]