我用的是mutt,
在我的配置中我有:
set smtp_url = "smtp://[email protected]:25/"
set folder = imap://000.000.000.000:143
其中 000.000.000.000 是我的服务器的 IP(或者可以用域替换 ofc)
我希望用变量替换这些值中硬编码的 IP。
所以我尝试了以下方法,但它不起作用,因为 ip 不是 mutt 可以识别的东西。
set ip="000.00.00.000"
set smtp_url = "smtp://$my_address@$ip:25/"
set folder = imap://$ip:143
无论如何,在解析配置文件时,有没有办法在不抛出 mutt 的情况下实现这一目标?
提前致谢
答案1
.muttrc 文件上的手册页告诉我们可以使用环境变量。尝试man muttrc | less -penvironment
验证这一点。因此,在 .muttrc 中使用诸如 $ip 之类的变量应该可以。但是,您应该在 .muttrc 文件之外设置此变量。您可以在启动 mutt 时执行此操作,如下所示:ip=000.000.000.000 mutt
或者您可以编写一个小型包装 shell 脚本,如下所示:将下面的行放入名为 mymutt.sh 的文件中
ip=000.000.000.000
杂种
然后执行该文件bash mymutt.sh
(或通过 chmod 使该文件可执行)
答案2
Mutt 允许设置必须以前缀“my_”开头的自定义变量,因此您可以执行以下操作
set my_ip="000.00.00.000"
set smtp_url = "smtp://$my_address@$my_ip:25/"
set folder = imap://$my_ip:143