脚本执行时找不到邮件命令错误

时间:2013-04-05 06:19:21

标签: linux bash shell unix

下面是我正在处理的代码,我试图在它进入if块时触发邮件

#!/bin/bash
toaddr2="harigm@gmail.com"
# Main Routine
export PATH=/usr/bin:/usr/local/bin
ssh -o PasswordAuthentication=no -q psoft@123.34.71.238 exit
test=$?
echo "return value  is $test"

set PATH=/usr/bin:$PATH
mail $toaddr2 -s "THIS IS THE SUBJECT"

当我执行上面的代码时,我找不到邮件命令 我正在使用bash并尝试设置路径。

我也尝试使用 mailx 命令,得到了同样的错误 不起作用,任何人的任何线索,可能是什么问题。

3 个答案:

答案 0 :(得分:1)

鉴于它是bash脚本,您可能想说

export PATH=/usr/bin:${PATH}

而不是

set PATH=/usr/bin:$PATH

答案 1 :(得分:0)

您可以从:

开始
which mail

如果它在你的路径中,你可以在bash中获得它的完整路径。您也可以尝试使用

 locate 

在您的机器上查找邮件。

答案 2 :(得分:0)

在ubuntu / debian上这将解决问题:-bash:mail:command not found

from ansible_vault import Vault

class MyVault(Vault):
    def load_raw(self, stream):
        return self.vault.decrypt(stream)

    def dump_raw(self, text, stream=None):
        encrypted = self.vault.encrypt(text)
        if stream:
            stream.write(encrypted)
        else:
            return encrypted