修改Unix自动发邮件脚本,实现运行时询问年月并发送对应邮件
修改后的交互式邮件通知脚本
这里有一个完全符合你需求的修改版Bash脚本,它会在执行时主动询问用户输入年月,自动将该信息整合到邮件主题中,同时保留你指定的发件人、收件人和正文内容:
#!/bin/bash # 交互式获取用户输入的年月,提示格式示例 read -p "请输入年月(格式如YYYY-MM,例如2024-05): " YEAR_MONTH # 可选:添加输入格式验证,确保用户输入符合要求 if ! [[ "$YEAR_MONTH" =~ ^[0-9]{4}-[0-9]{2}$ ]]; then echo "❌ 错误:请输入正确的年月格式,比如2024-05" exit 1 fi # 配置邮件基本信息 TO_ADDRESS="pratik@gmail.com" FROM_ADDRESS="Pratik@example.com" # 动态生成包含用户输入年月的主题 SUBJECT="$YEAR_MONTH Step" BODY="Hi All,\n\n Product Mapping Check is done.\n\n Regards, \n\n Pratik" # 发送邮件(注意加-e参数让echo解析换行符) echo -e ${BODY} | mail -s "${SUBJECT}" ${TO_ADDRESS} -- -r ${FROM_ADDRESS}
关键改动说明:
- 交互式输入:用
read -p弹出清晰的提示,引导用户输入正确格式的年月,避免混淆 - 动态主题:把原来硬编码的固定年月替换为用户输入的
$YEAR_MONTH,自动生成符合要求的邮件主题 - 输入验证(可选):加了正则表达式检查,确保用户输入的是
YYYY-MM格式,避免无效输入导致主题异常 - 兼容原配置:发件人、收件人和正文完全沿用你最初的要求,没有改动
使用方法:
- 把代码保存为
send_monthly_notification.sh - 给脚本加执行权限:
chmod +x send_monthly_notification.sh - 运行脚本:
./send_monthly_notification.sh - 按照提示输入年月(比如
2024-05),脚本就会自动发送符合要求的邮件
内容的提问来源于stack exchange,提问作者Pratik Fouzdar
相关产品推荐
相关产品推荐

