Баш условных трубопроводов
Как я могу передать вывод команды на случай, если она вернет 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, поэтому никогда не выполняет «выход 1».
Как я могу решить это без использования файлов (по соображениям безопасности).