在unix中,如何在shell脚本中附加文件之前添加条件?

在unix中,如何在shell脚本中附加文件之前添加条件?,shell,unix,Shell,Unix,上面的代码未运行,并且显示缺少“')”的语法错误。 在unix shell脚本中附加文件之前,谁能告诉我如何添加if条件 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

上面的代码未运行,并且显示缺少“')”的语法错误。 在unix shell脚本中附加文件之前,谁能告诉我如何添加if条件

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服务器版本较旧,存在一些语法错误:

cd$TGTDIR
count1=
cat File1.csv|wc-l

count2=
cat File2.csv|wc-l

(回应“例外情况/报告”;
如果[$count1-gt 0],则uuencode File1.csv File1.csv fi
如果[$count2-gt 1],则uuencode File2.csv File2.csv fi)| mailx-s“$WORKFLOW\u NAME在$Datetime成功。”$MAIL\u用户

*if后无分号
*|mailx-s的块应该紧跟在同一行的“')括号之后


谢谢你回答这个问题。:)

您可能需要在以
)开头的行末尾使用\。实际上有两种不同的if条件。它不是嵌套的if。其次,下面的代码工作正常。cd$TGTDIR count1=
cat File1.csv | wc-l
count2=
cat File2.csv | wc-l
(echo“异常/报告”;uuencode File1.csv File1.csv uuencode File2.csv File2.csv)| mailx-s“$WORKFLOW\u NAME在$Datetime成功。”$MAIL\u用户
#!/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)." your@gmail.com