Bash Mutt电子邮件附件错误无法统计:没有这样的文件或目录
所以我已经阅读了一些其他帖子,并尝试了答案,但我仍然遇到这个问题,所以我想在这里发表一个问题,看看是否有其他人有任何其他想法。请记住,我是bash的新手,所以我很在意什么可用于目前我所寻找的东西。Bash Mutt电子邮件附件错误无法统计:没有这样的文件或目录
我试图自动创建一个文件,然后将其发送给我的过程。以上所有都是好的,直到我尝试自动发送电子邮件给自己的文件。
我有这行代码
echo“report”|狗 - “$ USEREMAIL” -s “报告” -a “my_scripts/cid_reports/trb345432.csv”
当改掉运行此命令时,它抛出像
无法统计my_scripts/cid_reports错误/trb345432.csv:没有这样的文件或目录 my_scripts/cid_reports/trb345432.csv:无法附加文件。
关于如何解决这个问题的任何想法?我认为mutt对于处理这个问题很好,我打算玩邮件功能,看看我能否取得任何成功。
该系统看起来正在运行 Mutt 1.4.2.2i(2006-07-14) Copyright(C)1996-2002 Michael R. Elkins等人。 Mutt带绝对不担保;有关详细信息,请键入`mutt -v
no such file or directory
通常意味着无法找到该文件。由于您使用的是相对路径,因此您可能位于不同的目录中?
如果从运行脚本的相同目录输入cat my_scripts/cid_reports/trb345432.csv
,那么该文件是否在那里?
或其他。如果你使用绝对路径(通常是'/ home /'uid'/ my_scripts/cid_reports/trb345432.csv',但你的路径可能不同),脚本是否找到该文件?
(或者应该这样一直在回答中,尽管它已经试图通过找出错误引导代替评论?)
从您的意见LJM Dullaart的答案,你实际上是存储在文件路径一个变量,然后使用它是这样的:
FILE="~/my_scripts/cid_reports/file.csv"
echo "report" | mutt -- "$USEREMAIL" -s "report" -a "$FILE"
如果这是你在做什么,问题是,~
是双引号,因此不会被扩大到实际路径到您家目录。因此,它正在寻找在当前工作目录下字面上命名为“〜”的子目录,但没有找到它。为了~
将扩大到的路径,你的主目录,把它和下面的/
未加引号,像这样:
file=~/"my_scripts/cid_reports/file.csv"
echo "report" | mutt -- "$useremail" -s "report" -a "$file"
请注意,我也切换变量名称为小写。这是避免与具有特殊含义的各种环境变量冲突的最佳实践;特别的都是大写字母,所以如果你使用较低或混合大小写,你永远不会意外地超过它们。
您的错误消息引用与您在代码中指定的文件不同的文件。 – chepner
Bah,我忘了编辑它来匹配,我缩短了一些代码。文件名应该完全一样。 – Rob