我正在使用gnupg通过以下命令加密文件:
gpg --encrypt --sign --armor -r person@email.com name_of_file
此命令在shell中工作正常。但是它在go程序中失败,并显示以下错误:
gpg: cannot open '/dev/tty': Device not configured
以下是代码:
func main() {
var stdout, stderr bytes.Buffer
cmd := exec.Command("/bin/sh", "-c", `gpg --encrypt --sign --armor -r person@email.com file_name.csv`)
cmd.Stdout = &stdout
cmd.Stderr = &stderr
err := cmd.Run()
if err != nil {
log.Println(err)
}
out := stdout.String() + stderr.String()
fmt.Println(out)
}
为什么会出现此错误,我该如何解决?