从终端运行和用作快捷方式时显示不同行为的命令

蓝光

我正在使用KUbuntu 18.04.1

我正在尝试使用眼镜(KUbuntu的屏幕截图应用)和gocr(OCR工具)从屏幕截图中提取文本

如果我在Konsole(KUbuntu终端)中一个接一个地发出命令

第一的:

spectacle -r -b -n -o /home/UserName/Documents/Translate/input.jpg

第二:

gocr -i /home/UserName/Documents/Translate/input.jpg | xsel -b

有用。

如果我创建一个bash文件screen_ts.sh并放入代码

#!/bin/bash
# Dependencies: gocr xsel

# Take Screenshot and Save it to a File
spectacle -r -b -n -o /home/UserName/Documents/Translate/input.jpg

# Extract text from the saved file
gocr -i /home/UserName/Documents/Translate/input.jpg | xsel -b

exit

打开Konsole并输入./screen_ts.sh它可以工作

但是,如果我将文件设为可执行文件并双击,它将获得屏幕截图,但不会将文本保存在剪贴板中。

再次,如果我使用创建自定义快捷方式

自定义快捷方式>触发Alt + Q和操作/home/UserName/Documents/Translate/screen_ts.sh

KUbuntu自定义快捷方式

它需要屏幕截图,但不会将文本保存在剪贴板中。 行为与双击相同。

这里发生了什么?

丹泽尔

来自man xsel

默认情况下,如果标准输入和标准输出均为端子(ttys),则此程序将输出选择内容,而无需进行修改。否则,如果标准输出不是端子(tty),则输出当前选择;如果标准输入不是端子(tty),则从标准输入设置选择。如果给出了任何输入或输出选项,则程序仅在请求的模式下运行。

这有点误导,但是在源代码中有一个有趣的注释

检查stdin / stdout是否为tty并不能可靠地告诉用户想要什么。这是因为子进程继承了其父进程的文件描述符。例如,在脚本中被守护进程(未附加到tty)调用的xsel,或者通过重定向或在管道中调用的xsel,默认情况下将具有非tty文件描述符。重定向/管道问题也适用于外壳程序中的“分组”或“复合”命令(函数,子外壳程序,花括号块,条件,循环等)。在所有这些情况下,用户都必须明确设置操作模式。

...这就是解决方案:通过添加以下选项,xsel明确指示要读取stdin的内容-i

gocr -i /home/UserName/Documents/Translate/input.jpg | xsel -b -i

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从终端运行和用作快捷方式时显示不同行为的命令

来自分类Dev

命令在终端中运行,不带快捷方式

来自分类Dev

打开终端并运行一些命令的快捷方式

来自分类Dev

命令在终端中运行,不带快捷方式

来自分类Dev

打开终端并运行一些命令的快捷方式

来自分类Dev

终端中命令的快捷方式

来自分类Dev

运行单个 bash 命令的快捷方式

来自分类Dev

如何在KDE中设置桌面快捷方式以运行终端命令?

来自分类Dev

如何在KDE中设置桌面快捷方式以运行终端命令?

来自分类Dev

如果“列”为“将项目显示为”,则无法使用快捷方式从Finder运行终端

来自分类Dev

命令的快捷方式

来自分类Dev

终端:清理命令行的快捷方式是什么

来自分类Dev

如何为终端命令创建键盘快捷方式

来自分类Dev

终端命令的Unity启动器快捷方式

来自分类Dev

为终端命令创建桌面快捷方式

来自分类Dev

创建终端 Linux 命令的桌面快捷方式的问题

来自分类Dev

创建桌面或终端命令的快捷方式以打开程序

来自分类Dev

用于运行Java程序的终端的快捷方式

来自分类Dev

用于运行Java程序的终端的快捷方式

来自分类Dev

使用快捷方式打开cmd.exe时如何运行命令?

来自分类Dev

浮动快捷方式分配和常规分配的行为

来自分类Dev

使用命令行脚本或从后台工作程序运行它时的不同行为

来自分类Dev

鱼壳:接受并运行命令建议的快捷方式

来自分类Dev

命令提示符快捷方式区别“.” 和 ”../..”

来自分类Dev

显示错误快捷方式

来自分类Dev

wxPython标准菜单图标和快捷方式未显示

来自分类Dev

从Cygwin桌面快捷方式以外的任何地方运行bash时出现“找不到命令”错误

来自分类Dev

打开tmux终端的快捷方式

来自分类Dev

从32位或64位程序创建快捷方式时,快捷方式文件的不同文件哈希

Related 相关文章

  1. 1

    从终端运行和用作快捷方式时显示不同行为的命令

  2. 2

    命令在终端中运行,不带快捷方式

  3. 3

    打开终端并运行一些命令的快捷方式

  4. 4

    命令在终端中运行,不带快捷方式

  5. 5

    打开终端并运行一些命令的快捷方式

  6. 6

    终端中命令的快捷方式

  7. 7

    运行单个 bash 命令的快捷方式

  8. 8

    如何在KDE中设置桌面快捷方式以运行终端命令?

  9. 9

    如何在KDE中设置桌面快捷方式以运行终端命令?

  10. 10

    如果“列”为“将项目显示为”,则无法使用快捷方式从Finder运行终端

  11. 11

    命令的快捷方式

  12. 12

    终端:清理命令行的快捷方式是什么

  13. 13

    如何为终端命令创建键盘快捷方式

  14. 14

    终端命令的Unity启动器快捷方式

  15. 15

    为终端命令创建桌面快捷方式

  16. 16

    创建终端 Linux 命令的桌面快捷方式的问题

  17. 17

    创建桌面或终端命令的快捷方式以打开程序

  18. 18

    用于运行Java程序的终端的快捷方式

  19. 19

    用于运行Java程序的终端的快捷方式

  20. 20

    使用快捷方式打开cmd.exe时如何运行命令?

  21. 21

    浮动快捷方式分配和常规分配的行为

  22. 22

    使用命令行脚本或从后台工作程序运行它时的不同行为

  23. 23

    鱼壳:接受并运行命令建议的快捷方式

  24. 24

    命令提示符快捷方式区别“.” 和 ”../..”

  25. 25

    显示错误快捷方式

  26. 26

    wxPython标准菜单图标和快捷方式未显示

  27. 27

    从Cygwin桌面快捷方式以外的任何地方运行bash时出现“找不到命令”错误

  28. 28

    打开tmux终端的快捷方式

  29. 29

    从32位或64位程序创建快捷方式时,快捷方式文件的不同文件哈希

热门标签

归档