如何在Mutt中用shell脚本控制变量?

我想更改中英文信头,在mutt里是用greeting变量控制的。我想在mutt中运行脚本,用询问方式更改greeting。原来想用脚本更改环境变量(比如MUTT_greeting),再让greeting=$MUTT_greeting。问题是即使用. 脚本名运行脚本,更改环境变量MUTT_greeting后,mutt也不知道MUTT_greeting发生了变化。这个怎么解决?谢谢哈。

在mutt中直接用!export 都没法修改环境变量

不确定你说的「信头」是指什么。这个需要 mutt 支持的,! 是在子进程中执行 shell 的,环境变量的修改无法反向传递给父进程。

信头是信开头自动加入的内容,比如greeting=“Dear Sir:”,在发信时信开头就有这句。
“! 是在子进程中执行 shell 的,环境变量的修改无法反向传递给父进程。”
一般是这样,但是在bash中,不是用. 脚本文件名或者 source 脚本文件名可以实现环境变量反向传给父进程吗?举个例子:
脚本文件叫bb.sh
#!/bin/bash
export aa=“我的”

./bb.sh
echo $aa无数据
但是. ./bb.sh
echo $aa就有数据。

. 是在当前进程里执行的,当然会对当前进程有效果啦(但是你不能指望 mutt 能执行 bash 脚本啊)。

你是指信件的开头问候语啊。类似的功能我是使用编辑器(Vim)插件来定制的。

嗯,我现在也改用vim函数来写了。