【问题标题】:Write unix script to send email automatically, passing arguments编写 unix 脚本自动发送电子邮件,传递参数
【发布时间】:2018-09-29 14:32:25
【问题描述】:

我编写了以下脚本来自动发送电子邮件通知。

#!/bin/bash

TO_ADDRESS="pratik@gmail.com"
FROM_ADDRESS="Pratik@example.com"
SUBJECT="November 2016 Step"
BODY="Hi All,\n\n Product Mapping Check is done.\n\n Regards, \n\n Pratik"
echo ${BODY}| mail -s ${SUBJECT} ${TO_ADDRESS} -- -r ${FROM_ADDRESS}

要求:执行时的 unix 脚本应从 Pratik@example.com 向 Pratik@gmail.com 发送一封带有上述主题和正文的电子邮件。 当脚本运行时,它应该询问月份年份参数。 例如 register.sh 是脚本名称。 运行命令应该看起来像

> register.sh November 2016

上面的脚本执行时,应该把输入的月份和年份复制到主题行。然后发送电子邮件。

如果我需要在脚本中配置任何内容或调用任何服务器详细信息,请告诉我。

【问题讨论】:

标签: linux shell unix


【解决方案1】:

您可以使用 shell 的位置参数$1$2、...来引用脚本的参数:

SUBJECT="$1 $2 Step"

使用register.sh November 2016,这使得$1 包含November 并且$2 包含2016

【讨论】:

  • 我需要在任何地方声明 $1 和 $2 .... 还是简单地放置 SUBJECT="$1 $2 Step" 就可以了?
  • @PratikFouzdar 无需声明。至于您的错误,我不知道,因为您没有提供任何上下文。
【解决方案2】:

shell 脚本有一个运行时参数的概念,可以通过以下命令添加

$1、$2 等

$1 是第一个参数 $2 是运行时的第二个参数

【讨论】:

    猜你喜欢
    • 2010-12-19
    • 2011-04-19
    • 1970-01-01
    • 2016-05-05
    • 2015-04-01
    • 2011-09-16
    • 1970-01-01
    • 2014-03-01
    • 2021-12-28
    相关资源
    最近更新 更多