通过 bash shell 脚本自动发送邮件时出现问题

通过 bash shell 脚本自动发送邮件时出现问题

命令:

echo "define(`SMART_HOST',`smtp.server.ac.in')" >>/etc/mail/sendmail.mc

输出 :

-bash: command substitution: line 1:
 unexpected EOF while looking for matching `''
-bash: command substitution: line 2: 
syntax error: unexpected end of file

答案1

您的命令失败,因为 Bash 尝试解释“`”。添加“\”即可正常工作:

echo "define(\`SMART_HOST',\`smtp.server.ac.in')" >>/etc/mail/sendmail.mc

顺便说一句:您的帖子的标题、内容和标签是三个不同的主题。

更多细节:Bash 会将双引号 ("") 中的所有内容视为一个字符串,但也会用其内容替换变量,执行反引号 ("`") 内的代码等等。

答案2

好像你从本网站指南或类似命令。该命令并不神奇;该命令所做的只是告诉 Bash 通过>>以下文本附加:

define(`SMART_HOST',`smtp.server.ac.in')

至此文件末尾:

/etc/mail/sendmail.mc

如果这种>>附加方法使事情变得很困难,另一种设置该值的方法就是在你最喜欢的终端文本编辑器中打开它/etc/mail/sendmail.mc——例如nanodefine()—并像这样添加/编辑它:

nano /etc/mail/sendmail.mc

define(然后只需将SMART_HOST添加/编辑/附加smtp.server.ac.in')到该文件中,按照该教程的其余步骤(或您正在使用的任何指南)进行操作,就可以了。

相关内容