我可以在 .muttrc 配置中使用我自己的变量吗

我可以在 .muttrc 配置中使用我自己的变量吗

我用的是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

文档中的“用户定义变量”

相关内容