我一直在尝试复制 Bruno Braga 在此线程末尾所建议的内容: 如何在 gedit 中加密/解密文件?
我复制了这两个脚本并严格按照说明操作。但我并不高兴,因为我得到了 512 错误。它说gpg:抱歉,根本没有请求终端 - 无法获取输入。
我唯一改变的是加密脚本中的电子邮件:
#!/bin/bash
stdin=$(cat)
if [ ! "${stdin:0:27}" == "-----BEGIN PGP MESSAGE-----" ]; then
echo "$stdin" | gpg -a -e -r [email protected] --no-tty -
else
echo "$stdin"
fi
#!/bin/bash
stdin=$(cat)
if [ "${stdin:0:27}" == "-----BEGIN PGP MESSAGE-----" ]; then
echo "$stdin" | gpg -d --no-tty - 2> /dev/null
else
echo "$stdin"
fi
我已经测试过该命令:
gpg -a -e -r [email protected] test.txt
在终端上,它工作正常。我已将输入设置为“当前文档”,将输出设置为“替换当前文档”
我究竟做错了什么?
由于我的声誉不够,我无法在该主题上发表评论。
答案1
电子邮件地址并不是您修改的唯一内容。您还在 shebang 中将 shell 从 Bash 更改为 Bourne:
#!/bin/sh
将其更改为:
#!/bin/bash
Bourne Shell 不支持像这样的 Bash 参数替换:"${stdin:0:27}"