2017-01-03 56 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应该是刚刚在同一行

谢谢你回答问题的“)”括号之后。 :)

相关问题