我有以下用bash编写的函数:
msend() { f=$(mktemp) ; rm -f $f ; if [ "$#" -gt 1 ] ; then ; d_zip=true ; zip $f "$@";filename="$f.zip" ; uuencode $f $filename | mail -s "$filename" $mail_addr ; else ; uuencode $1 $1 | mail -s "$1" $mail_addr ; fi ; }
这个函数工作得很好但是问题是用bash编写的,有一些终端只允许使用ksh我想把这个函数翻译成ksh,我想感谢任何有助于克服这种情况的帮助。
为了更清楚地使用此功能,首先必须使用您的电子邮件声明以下变量:
mail_addr = YOUR_EMAIL_ADDRESS。
答案 0 :(得分:1)
Doesn't crash in KSH 93u+:
msend() {
f=$(mktemp)
rm -f "$f"
if [ "$#" -gt 1 ]; then
d_zip=true
zip "$f" "$@"
filename="$f.zip"
uuencode "$f" "$filename" | mail -s "$filename" "$mail_addr"
else
uuencode "$1 $1" | mail -s "$1" "$mail_addr"
fi
}
The only oddities in your original post were spurious ;
. If this fails, it's related to the commands and arguments, not the syntax.