我想编写一个shell脚本来完成录制的macros所做的事情,并重播按键。 特别要生成ctrl + a 。
这可能吗?
我已经尝试了echo \0141类的东西,但它只是说没有command \0141 。
你有没有试过Expect?
在X11中,您可能可以使用xdotool 。
xdotool key ctrl+a
当一个应用程序运行时,经常会重置terminal特性,所以按ctrl-a实际上可能被logging为ASCII 1或者一系列的按键。
在控制台ctrl-v ctrl-a产生^ A显示,你会得到
echo ^A | od -x 0000000 010a
01是ctrl-a。
所以,重点是:
为了“脚本化”你必须捕获terminal设置的东西,记住它们,然后在重放过程中重置它们。 在shell脚本中,这意味着parsing输出
stty -a
并保存在一个格式,让您可以发送回stty重播,然后发送您的数据stream到terminal。
terminal驱动程序,graphics界面等,这是非常复杂的。
为了得到一个“纯粹的”CTRL-使用CTRL-V CTRL-A – 只在控制台,不一定在编辑器。
从我刚刚做的一个文档页面
Serge对Web开发的标准步骤感到厌倦:
于是他决定自动化一下;)
他如何改善这种状况:
$ sudo apt-get install xdotool
$ mkdir文件/脚本 $ vim Documents / scripts / vim-browser-vim.sh [...] #!/斌/庆典 #寻找一个标题为“Coding”的窗口,并发送键以保存vim中的当前文档 xdotoolsearch“编码”键“转义”“冒号”“w”“返回” #在标题中search一个名为“Studyladder”的窗口,激活并刷新(在Chrome中Ctrl + r) xdotoolsearch“Studyladder”窗口激活键“Ctrl + r” #寻找一个标题为“Coding”的窗口并激活它 xdotoolsearch“编码”窗口激活 [...] chmod u + x Documents / scripts / vim-browser-vim.sh
在GNOME中:任务栏>系统>首选项>键盘快捷键>添加
名称:vim-browser-vim命令:/home/srivest/Documents/scripts/vim-browser-vim.sh
然后应用。
接下来分配您select的快捷键。 我用Ctrl + 2,我只是觉得手指很懒,需要锻炼;)
点击closures。
现在你可以通过按下快捷键来执行脚本!
生活改变! 呵呵..
–
故障排除:
如果脚本不能正常工作,则必须查找以下内容:
PS:不要试图生成ALT + TAB和其他桌面组合键。 这实际上可以在控制台中工作,但不能在gnome快捷方式系统启动时使用。 我在这里假设这个快捷方式代码将脚本启动到自己的沙箱中,并生成像Alt + Tab这样的东西,切换应用程序将无法正常工作,因为沙箱中没有应用程序。 试图做这项工作的时间浪费了。