2017-05-17 35 views
0

我找不到在shell腳本中在瀏覽器上打印字符串的命令。例如這裏在stackoverflow。我想創造的是,在搜索欄將一個字符串的腳本和搜索在瀏覽器上打印字符串,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 

它應該很容易,但我不能找到它

+1

你不能簡單地在其中搜索上書寫文字酒吧是,並期望它被傳遞給瀏覽器;您需要一個可以與瀏覽器進行編程交互的工具,或者至少需要使用窗口管理器。 'bash'既不是。 – chepner

+0

@chepner有一種解決方法可以完成大部分(如果不是全部的話)問題。檢查我的答案(意見歡迎)。 –

回答

0

可能有一種近似的方式來做你想做的事(在Linux Debian 8中測試)。你可以 - 作爲一個普通用戶,而不是根(see this的原因) - 運行以下命令(在終端):

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

這將堆棧溢出的頁面,會顯示搜索上打開firefox術語my_search_term的結果。

如果您需要此代碼要在運行爲root腳本中運行,它仍然是可能的,如果你運行它作爲一個「正常」的用戶,而不是root,如(安全)運行此命令:

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

要找出誰是誰應該被用來執行上面的命令user,最好的選擇之一是使用logname命令,如:

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

注意:各種此變通辦法也將適用於許多其他的網站,如谷歌,只是用正確的url地址代替,如:

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