在浏览器上打印字符串,shell 脚本

Posted

技术标签:

【中文标题】在浏览器上打印字符串,shell 脚本【英文标题】:print string on a browser, shell script 【发布时间】:2017-10-17 09:55:15 【问题描述】:

我找不到在浏览器上打印 shell 脚本中的字符串的命令。例如在***上。我想创建一个在搜索栏中写入字符串并进行搜索的脚本

xdotool mousemove x y # position of the searchbar
xdotool mouseclick 1 # leftclick
[[command that writes a string on the searchbar]]
xdotool key KP_Enter # press enter

应该很简单,但我找不到

【问题讨论】:

你不能简单地在搜索栏的顶部写上文本,然后期望它被传递给浏览器;您需要一个可以以编程方式与浏览器交互的工具,或者至少与窗口管理器交互的工具。 bash 两者都不是。 @chepner 有一种解决方法可以完成大部分(如果不是全部)关于该问题的问题。检查我的答案(欢迎 cmets)。 【参考方案1】:

可能有一种近似的方式来做你想做的事(在 Linux Debian 8 中测试过)。您可以 -- 作为普通用户,而不是 root(原因是see this) -- 运行以下命令(在终端上):

firefox "http://***.com/search?q=my_search_term"

这将在 Stack Overflow 页面上打开 firefox,该页面将显示术语 my_search_term 的搜索结果。

如果您需要在以root 身份运行的脚本上运行此代码,如果您以“普通”用户而不是root 身份运行此命令,仍然可以(安全地)运行此命令,例如如:

su - myuser -c 'firefox "http://***.com/search?q=my_search_term"'

要找出应该使用谁来运行上述命令的user,最好的选择之一是使用logname 命令,例如:

myuser="$(logname 2>/dev/null)"

注意:这种解决方法也适用于许多其他网站,例如 Google,只需替换为正确的url 地址,例如:

firefox "http://www.google.com/search?q=my_search_term"

【讨论】:

【参考方案2】:

在这个question 中回答有用吗?只需将 url 替换为适当的搜索字符串 https://***.com/search?q=foobar

【讨论】:

如果您只是要链接到另一个问题,请将其标记为重复。

以上是关于在浏览器上打印字符串,shell 脚本的主要内容,如果未能解决你的问题,请参考以下文章

查找并打印出字符串中特定字符的出现次数 (shell/AIX)

使用选项 -c 在 shell 脚本中打印单引号 [重复]

Linux系统shell工具打印输出

shell脚本,awk在需要的行上打打印空行。

强制打印功能中的行尾与python-shell Node.js中的原始字符串相同

10个常用的shell脚本