小编Gid*_*ina的帖子

通过管道将命令输出传输到 Yad,并将输出记录到日志文件中

需要使用yad显示命令过程(通常是更新) ,同时将所有输出记录到给定的日志文件设置中。这就是我所拥有的

apt-get update | yad --width=400 --height=300 \
--title="Updating debian package list ..." --progress \
--pulsate --text="Updating debian package list ..." \
--auto-kill --auto-close \
--percentage=10 
Run Code Online (Sandbox Code Playgroud)

上面的命令为进程创建一个脉动指示器并在完成时关闭,但我需要让它记录我尝试过的所有输出

apt-get update >>${logfile} 2>&1 | yad --width=400 --height=300 \
--title="Updating debian package list ..." --progress \
--pulsate --text="Updating debian package list ..." \
--auto-kill --auto-close \
--percentage=10 
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误,并且在没有对话框和没有日志记录的情况下挂起,只是冻结。这是错误

 GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed
Run Code Online (Sandbox Code Playgroud)

感谢帮助

bash pipe io-redirection shell-script

5
推荐指数
1
解决办法
3695
查看次数

标签 统计

bash ×1

io-redirection ×1

pipe ×1

shell-script ×1