gedit 插件的问题

gedit 插件的问题

我一直在尝试复制 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}"

相关内容