0

在 unix shell 脚本中传递电子邮件正文中的环境变量值。我只能使用 uuencode 在我的环境中发送电子邮件。

我已经尝试了以下%$1和“$ 2”都不起作用。请建议

$Cat scrip1.sh
#!/bin/bash
.
(cat f1.txt; uuencode f2.csv f2.csv) | mails -s "subject" abc@email.com
.


$cat f1.txt
Hello.
The attachment for this month data "$1"
For data `$2`
Thanks


#Where $1 = ABC
$2= folderxyz
4

1 回答 1

0

在您的scrip1.sh中有 2 行带有.. 这不是一个有效的命令。
$1$2在脚本中使用,并将被脚本的第一个和第二个参数替换。当您cat 创建文件时,不会进行任何替换。

在通过以下脚本更正scrip1.sh替换 f1.txt之前attach_info.sh

#!/bin/bash
if [[ $# -ne 2 ]]; then
  echo "Usage: $0 user folder"
  exit 1
fi
cat <<END
Hello.
The attachment for this month data "$1"
For data "$2"
Thanks
END

现在chmod +x attach_info.sh./attach_info.sh "ABC" "folderxyz"

于 2021-09-12T09:23:20.097 回答