我怎样才能在命令返回 true 的情况下将输出传输到管道中?
function open
{
TEMPFILE=$(mktemp -u)
if ! gpg2 --quiet --decrypt --batch --passphrase "$2" "$1" 2> $TEMPFILE; then
error $"Password errata od errore di lettura dal file\n\nDettagli:\n$(grep -v '^$' $TEMPFILE)"
rm -f $TEMPFILE
return 1
fi
rm -f $TEMPFILE
}
if ! open "$@" "$PASSWORD"; then
exit 1
fi | <SOMECOMMAND>
这种方式只是简单地进行管道操作,而不检查open命令返回的true或false,因此永远不会执行"exit 1"。
我该如何解决这个问题,而又不使用文件(出于安全原因)。