无法从脚本中调用脚本



我正在尝试从另一个脚本中调用脚本。 这个想法是程序应该接受直接从Unix邮件发送给它的电子邮件作为stdin,然后解析一些东西并将其发送到新脚本。

我在访问新脚本时遇到问题。 但是,仅当脚本直接接受电子邮件时,才会发生此问题。 如果我将文件放入其中,则没有问题,它会找到新脚本。

IE:如果我有一个名为" email.txt"的测试文件,我执行命令:

cat email.txt | ./receiveEmail.sh

然后脚本调用工作正常。

但是,如果receiveEmail.sh直接收到电子邮件,则无法调用新脚本。 我知道这是它失败的地方,因为我得到的日志表明脚本一直工作到它尝试调用新脚本的位置。

--------receiveEmail.sh----------
#!/bin/bash
###do some stuff to parse the stdin coming in and get variable $subject and $body
issue=`. /home/dlaf/bin/makeissue.sh` ->>>> this is the line that doesn't seem to work when the input is straight from the email rather than from a txt file i send it.

我很困惑为什么。 我想这可能是因为我错过了路径的某些部分? 也许收到的电子邮件不知道我的完整路径实际上是什么? 我不确定,因为当我输入命令行时echo $LD_LIBRARY_PATH我只会得到一个空行,所以我认为它甚至没有设置,所以我不知道这怎么会是一个问题

使用 Bash 将输出保存到变量时,我通常会这样做

read issue < <(~/bin/makeissue.sh)
echo "$issue"

如果输出是多行,您可以执行此操作

read -d'' issue < <(~/bin/makeissue.sh)
echo "$issue"

或者这个

mapfile issue < <(~/bin/makeissue.sh)
echo "${issue[@]}"

相关内容

  • 没有找到相关文章

最新更新