如何在unix中的shell脚本中附加文件之前添加条件?
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脚本中附加文件之前添加条件?
#!/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]
希望这将帮助你
开始的行结尾实际上有两个不同的条件,它不是嵌套的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
看来,我的工作在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应该是刚刚在同一行
谢谢你回答问题的“)”括号之后。 :)
你可能需要一个\在以'('。 – fedorqui