シェル関数を呼び出そうとしていますが、この関数が処理する間、zenity progressダイアログが表示されます。 しかし、私はその関数のecho'ed文字列を、さらに処理するための変数とその関数の戻りコードに格納することを望みます。Zenity - progress return stringとreturn code(POSIXシェル)
これはすべてPOSIXシェルです。
私の現在のアプローチは、このようなものです:
output="$(compress "${input}" | \
zenity --progress \
--pulsate \
--title="Compressing files" \
--text="Scanning mail logs..." \
--percentage=0 \
)";
if [ "$?" != "0" ]; then
echo "${output}"
exit 1
fi
進捗ダイアログが現れ、しかし、$output
が最後に空です。
compress
の出力を取得するにはどうすればよいですか?