【发布时间】:2021-04-06 08:58:49
【问题描述】:
man -k . | fzf -e --tiebreak=begin | awk '{print $1}' | xargs man -Tpdf | zathura -
# searches for a man page and then outputs it as pdf to zathura
这是命令,它工作得很好,除了 zathura 在等待标准输入给它输入时开始空白。将焦点从 zathura 转移回终端真的很烦人 然后回到zathura。
我对脚本相当陌生,所以我认为可能有一种我不知道的解决方法。
还是谢谢!
【问题讨论】:
-
程序在各自独立的进程中运行。 shell 设置管道并启动进程。它无法知道其中一个进程是否已经开始填充管道。你能做的最好的事情是围绕 zathura 编写一个包装器,它使用它的标准输入并将其存储在内部,一旦它在标准输入上得到一些东西,就启动 zathura 并将输入传递给 zathura。
-
为什么不完全分开生成 PDF 和查看?问题是 zathura 似乎两者兼而有之。您可以使用一个仅创建 PDF 的程序,如果文件已完全创建,请启动您的 PDF 查看器。您可以将这两个步骤捆绑到一个脚本中。
标签: linux shell pipe zsh pipeline