我们将应用程序从 Solaris 迁移到 Linux,当使用附件 (-a) 选项时,Linux 中的电子邮件功能 (mutt) 行为有所不同。因此,我们计划编写一个包装脚本,而不是修改所有 shell 脚本,该脚本将在第一个电子邮件出现之前插入“--”。
mutt -a "file1" -a "file2" -s "subject" [email protected] [email protected] < /dev/null
到
mutt -a "file1" -a "file2" -s "subject" "--" [email protected] [email protected] < /dev/null
另外,我们可以全局修改 mutt 功能以忽略用于识别电子邮件的“--”吗?
答案1
要插入--
:
set -- -a "file1" -a "file2" -s "subject" [email protected] [email protected]
args=()
while getopts :a:s: opt; do
case $opt in
a) args+=( -a "$OPTARG" );;
s) args+=( -s "$OPTARG" );;
esac
done
shift $((OPTIND - 1))
args=( "${args[@]}" -- "$@" )
echo "${args[@]}"
-a file1 -a file2 -s subject -- [email protected] [email protected]
我不明白你的意思:
全局修改 mutt 功能以忽略用于识别电子邮件的“--”
mutt 手册页明确提供了--
结束选项。