我正在尝试创建一个简单的 bash 一行脚本,该脚本允许我选择屏幕上可见的特定条形码,并将其作为剪贴板上的文本提供。为此,我编写了一个 bash 脚本,旨在将屏幕的一部分捕获为gnome-screenshot
PNG 文件,检查该文件zbarimg
并使其输出的任何内容都可以粘贴xclip
。
这是我写的:
tfile=$(mktemp -u -p ~).png && gnome-screenshot -a -f $tfile && zbarimg -q --raw $tfile | xclip; rm $tfile
就在我运行这个脚本之后,它确实要求我捕获屏幕的一部分(正是gnome-screenshot
应该做的),屏幕截图文件被创建,但之后似乎xclip
永远运行并等待输入,就好像zbarimg
没有一样输出任何东西。
有人有解决这个问题的建议吗?
答案1
对于鼠标中键单击:
tfile=$(mktemp -u -p ~).png && gnome-screenshot -a -f $tfile ; cat <(zbarimg -q --raw $tfile) | xclip ; rm $tfile
对于鼠标右键单击:
tfile=$(mktemp -u -p ~).png && gnome-screenshot -a -f $tfile ; cat <(zbarimg -q --raw $tfile) | xclip -selection clipboard ; rm $tfile