我想调用一个shell函数,并且在此函数处理的同时,应该显示一个zenity进度对话框。 但是,我希望将该函数的echo'ed字符串存储在变量中以供进一步处理,以及该函数的返回码。Zenity - 进程返回字符串和返回码(POSIX shell)
而这一切都在POSIX shell中。
我目前的做法是这样的:
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
函数的输出?