![管道不读取我的分叉脚本](https://linux22.com/image/52781/%E7%AE%A1%E9%81%93%E4%B8%8D%E8%AF%BB%E5%8F%96%E6%88%91%E7%9A%84%E5%88%86%E5%8F%89%E8%84%9A%E6%9C%AC.png)
我有个问题。我修改了一个名为 '包装工' AAUR 助手为了架构Linux。当我申请时出现问题管道,带有进度条,没有显示我需要的所有信息。
这是我的分叉脚本从 packer 中,下一行从 AUR 安装程序
echo > /tmp/packer-url-tmp
packer-postinstallerf -S --noconfirm --noedit alchemy
tee /tmp/packer-url-tmp |
stdbuf -oL sed '/\.\.\.$/ s/^/#/p' |
zenity --progress --title="packer progress" --pulsate --width=450 --auto-close
没有管道和进度条的输出:
上面的行,在没有 AUR 包的情况下工作正常;但是当我安装一个尿素尿率程序会消失以前的安装信息(构建过程)。
我不明白带有进度条的管道应该显示此信息。
仅显示管道
:: ¿Continuar con la instalación? [S/n]
(1/1) verificando llaves en el llavero [######################] 100%
(1/1) verificando la integridad de los paquetes [######################] 100%
(1/1) cargando los archivos del paquete... [######################] 100%
(1/1) verificando conflictos entre archivos [######################] 100%
(1/1) verificando el espacio disponible en disco [######################] 100%
(1/1) instalando alchemy [######################] 100%
Dependencias opcionales para alchemy
jpen: for tablet support
如果我的问题不清楚,我更新了我的问题。我不知道如何进一步澄清我的问题:/。
答案1
也许是因为它在 stderr 和 stdout 上输出文本,而您想要捕获的内容在 stderr 上?我认为你这里缺少管道
packer-postinstallerf -S --noconfirm --noedit alchemy | ...
并尝试将 stderr 重定向到管道之前的 stdout:
packer-postinstallerf -S --noconfirm --noedit alchemy 2>&1 | ...
抱歉,之前的链接仅回答,参考资料在这里:https://stackoverflow.com/questions/16497317/piping-both-stdout-and-stderr-in-bash