命令:
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
——例如nano
define()
—并像这样添加/编辑它:
nano /etc/mail/sendmail.mc
define(
然后只需将SMART_HOST添加/编辑/附加smtp.server.ac.in')
到该文件中,按照该教程的其余步骤(或您正在使用的任何指南)进行操作,就可以了。