3

此脚本在以图形方式启动时(通过双击脚本图标并选择运行)无法正常运行,但是,如果从终端调用,则运行良好;不会保存文件或从现有文件加载内容。请帮忙!谢谢你。

#!/bin/bash

# This script provides a simple and secure messaging system for users not
# familiar with gpg or using the terminal. The idea is to keep sensitive
# plaintext files off one's computer.

zenity --question --text="Select operation:" --ok-label="Compose" --cancel-label="Read"
if [[ $? == 0 ]]; then
    usr=$(zenity --entry --text="Sender Key ID:")
    rec=$(zenity --entry --text="Recipient Key ID:")
    pwd=$(zenity --password)
    outfile=$(zenity --file-selection --save --confirm-overwrite)
    zenity --text-info --editable | gpg -aseu $usr -r $rec --passphrase $pwd --cipher-algo AES256 -o $outfile
else
    infile=$(zenity --file-selection)
    pwd=$(zenity --password)
    gpg -d --passphrase $pwd $infile | zenity --text-info --height=600 --width=800
fi
4

1 回答 1

1

错误的一个可能原因是您在通过交互式外壳(因此采购您的.bashrc)和双击(非交互式,而不是采购)执行时有不同的环境.bashrc

您可以通过执行env > from_terminalvs.env > double_click然后使用diff或类似的方法来比较环境。

您还可以(在执行上述操作后)from_terminal在脚本中获取源代码以查看它是否适用于终端环境。如其中一条评论所述,set -vx是您的朋友。

于 2011-06-21T19:35:27.650 回答