当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]我的shell无法运行啊
帖子发表于 : 2008-09-12 14:32 
头像

注册: 2007-09-22 13:09
帖子: 188
送出感谢: 0 次
接收感谢: 0 次
我想在运行时 m3 aaa@btc.sh.cn "*bc"
把当前目录下的*bc都做为附件发送到指定邮箱,但是无法正常运行,
每次都报错。
newman0708@newman0708-desktop:~$ ./script/m3 aaa@btc.sh.cn "*bc"
m2 aaa@btc.sh.cn abc bbc cbc
$attachment= -a "abc" -a "bbc" -a "cbc"
./script/m3: line 65: echo "*bc" | mutt -s "*bc" "aaa@btc.sh.cn" -a "abc" -a "bbc" -a "cbc": command not found
Mail is sent.

想请教高手指点一下,谢谢

下面是我的shell ,文件名是m3

代码:
#!/bin/bash
subject="$1"
subject=${subject##*/}
content="$1"
attachment=""

help_message()
{
        echo "Send attachment to the sender."
        echo "Usage1: m2 abc@btc.sh.cn attachment"
   echo "Usage2: m2 attachment" ", m2 \"*csv\""
   echo
        exit 1
}

getAttachs(){
    tempattachment=""
    for file in `ls $attachment`
    do
   #echo "file: " $file
   tempattachment="$tempattachment  -a \"$file\""
    done
    attachment=$tempattachment
}

if [ $# -lt 1 ] ; then  #no parament
    help_message
elif [ $# -lt 2 ] ; then #1 parament
    #echo "1 parament"
    target="bk"

    attachment=$1

    subject="$1"
    subject=${subject##*/}

    content="$1"

    echo "m2" $attachment
elif [ $# -lt 3 ] ; then #2 paraments
    #echo "2 parament"
    target=$1
    attachment=$2

    subject="$2"
    subject=${subject##*/}

    content="$2"

    echo "m2" $target $attachment
fi

getAttachs

echo '$attachment=' $attachment

command="echo \"$content\" | mutt -s \"$subject\" \"$target\" $attachment"

`"$command"`

#echo "$content" | mutt -s "$subject" "$target" -a "$attachment"


echo "Mail is sent."
echo



页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-09-12 19:28 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
mutt 装了吗


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:02 
头像

注册: 2007-09-22 13:09
帖子: 188
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET 写道:
mutt 装了吗


mutt装了,

echo "content test" | mutt -s "subject test " "abc@btc.sh.cn" -a "aaa"
是能够正常发送的。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:05 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
代码:
command="echo \"$content\" | mutt -s \"$subject\" \"$target\" $attachment"

`"$command"`

#echo "$content" | mutt -s "$subject" "$target" -a "$attachment"


干吗不直接写,你这样当然是找不到了


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:17 
头像

注册: 2007-09-22 13:09
帖子: 188
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET 写道:
代码:
command="echo "$content" | mutt -s "$subject" "$target" $attachment"

`"$command"`

#echo "$content" | mutt -s "$subject" "$target" -a "$attachment"


干吗不直接写,你这样当然是找不到了


直接写是可以正常发送的,这个我试过的。

我想在用的时候,可以把"*bc"这样的带通配符的做为附件,这样可以把相应的文件都变成附件一起发送,

如果直接写的话:
$attachment= -a "abc" -a "bbc" -a "cbc"
echo "$content" | mutt -s "$subject" "$target" "$attachment"

Error sending message, child exited 65 (Data format error.).
./script/m3: line 65: 6367 Done echo "$content"
6368 Segmentation fault (core dumped) | mutt -s "$subject" "$target" "$attachment"


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:25 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
newman0708 写道:
BigSnake.NET 写道:
代码:
command="echo "$content" | mutt -s "$subject" "$target" $attachment"

`"$command"`

#echo "$content" | mutt -s "$subject" "$target" -a "$attachment"


干吗不直接写,你这样当然是找不到了


直接写是可以正常发送的,这个我试过的。

我想在用的时候,可以把"*bc"这样的带通配符的做为附件,这样可以把相应的文件都变成附件一起发送,

如果直接写的话:
$attachment= -a "abc" -a "bbc" -a "cbc"
echo "$content" | mutt -s "$subject" "$target" "$attachment"

Error sending message, child exited 65 (Data format error.).
./script/m3: line 65: 6367 Done echo "$content"
6368 Segmentation fault (core dumped) | mutt -s "$subject" "$target" "$attachment"


... 你这个不能这样写吧

代码:
$attachment= -a "abc" -a "bbc" -a "cbc"
???


代码:
echo '$attachment=' $attachment

command="echo "$content" | mutt -s "$subject" "$target" $attachment"

`"$command"`





代码:
echo '$attachment=' $attachment

echo "$content" | mutt -s "$subject" "$target" $attachment


不行?


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:32 
头像

注册: 2007-09-22 13:09
帖子: 188
送出感谢: 0 次
接收感谢: 0 次
我改成了BigSnake.NET提示的下面这种写法,

echo "$content" | mutt -s "$subject" "$target" $attachment


又报错了,

newman0708@newman0708-laptop:~$ ./script/m3 abc@btc.sh.cn "*bc"
m2 nch@btc.sh.cn abc bbc cbc
file: abc
file: bbc
file: cbc
$attachment= -a "abc" -a "bbc" -a "cbc"
$command= echo "*bc" | mutt -s "*bc" "nch@btc.sh.cn" -a "abc" -a "bbc" -a "cbc"
Can't stat "abc": No such file or directory
"abc": unable to attach file.
Mail is sent.


还是不行啊!


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:35 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
代码:
Can't stat "abc": No such file or directory


没有该文件嘛


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-09-12 22:45 
头像

注册: 2007-09-22 13:09
帖子: 188
送出感谢: 0 次
接收感谢: 0 次
我在该目录下创建了这3个文件,

它们确实是存在的,

newman0708@newman0708-laptop:~$ ls -l *bc
-rw-r--r-- 1 newman0708 newman0708 4 2008-09-12 22:45 abc
-rw-r--r-- 1 newman0708 newman0708 4 2008-09-12 22:45 bbc
-rw-r--r-- 1 newman0708 newman0708 4 2008-09-12 22:45 cbc


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-09-12 23:30 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
☎ cat mail-发附件.pl
#!/usr/bin/perl -w

my $file = $ARGV[0];
use Mail::Sender;
$sender = new Mail::Sender;

if ($sender->MailFile({
smtp => 'smtp.163.com',
from => 'xx@163.com',
to =>'xx@163.com',
to =>`zenity --list --column="邮件地址" --text="选择收件人" --title="发送邮件" xx\@163.com xx\@gmail.com`,
subject => '发送附件',
msg => "请查看附件。",
auth => 'LOGIN', #LOGIN, PLAIN, CRAM-MD5 and NTLM
authid => 'xx',
authpwd => 'xx',
file => "$file",
}) < 0) {
die "$Mail::Sender::Error\n";
}
print "Mail sent OK."


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 5 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译