2017-01-03 93 views
0
cd $TGTDIR 
count1=`cat File1.csv | wc -l` 
count2=`cat File2.csv | wc -l` 
(echo "Exceptions/Reports "; 
if [ $count1 -gt 0 ]; then uuencode File1.csv File1.csv fi 
if [ $count2 -gt 1 ]; then uuencode File2.csv File2.csv fi) 
| mailx -s " $WORKFLOW_NAME was successful at $Datetime. " $MAIL_USER 

上面的代碼沒有運行,並且示出了用於缺失「)」語法錯誤。 誰能告訴我怎樣的如果條件只是條安裝UNIX shell腳本文件之前添加。如何在unix中的shell腳本中附加文件之前添加條件?

+0

你可能需要一個\在以'('。 – fedorqui

回答

0
#!/usr/bin/env bash 
count1=`cat ~/File1.txt | wc -l` 
count2=`cat ~/File2.txt | wc -l` 
echo "Exceptions/Reports " 
    $(
    if [[ $count1 -gt 0 ]]; then 
     uuencode ~/File1.txt File1.txt 
    elif [[ $count2 -gt 1 ]]; then 
     uuencode ~/File2.txt File2.txt 
    fi 
    ) | mail -s "I was successful at $(date)." [email protected] 

希望這將幫助你

+0

開始的行結尾實際上有兩個不同的條件,它不是嵌套的if。其次,下面的代碼工作正常。 count1 ='cat File1.csv | wc -l' count2 ='cat File2.csv | wc -l' (echo「Exceptions/Reports」; uuencode File1.csv File1.csv uuencode File2.csv File2.csv ) | mailx -s「$ WORKFLOW_NAME在$ Datetime成功。」$ MAIL_USER – Zeenat

0

看來,我的工作在Unix服務器是舊版本,並有一些語法錯誤:

CD $ TGTDIR
COUNT1 = cat File1.csv | wc -l
count2 = cat File2.csv | wc -l
(echo「Exceptions/Reports」;
if [$ count1 -gt 0] then uuencode File1.csv File1.csv fi
if [$ count2 -gt 1] then uuencode File2.csv File2.csv fi)|的mailx -s 「$ WORKFLOW_NAME成功在$日期時間。」 $ MAIL_USER

* NO分號後,如果
*的塊| mailx的-s應該是剛剛在同一行

謝謝你回答問題的「)」括號之後。 :)

相關問題