Bash 为什么xdotool类型为两次?我怎样才能避免呢?
Bash 为什么xdotool类型为两次?我怎样才能避免呢?,bash,keyboard-shortcuts,copy-paste,xdotool,Bash,Keyboard Shortcuts,Copy Paste,Xdotool,[Wed Aug 05 20:49:43deppfx@localhost:~]$xdotool类型密码 密码[Wed Aug 05 20:50:51deppfx@localhost:~]$密码 我怎样才能避免这种情况?有人能解释一下这种行为吗?它实际上并没有输入两次;它在控制终端的同时进行键入,然后shell提示符返回并重新格式化在终端键入的内容。尝试在不同的xterm中键入(例如,xdotool selectwindow type password),您应该只看到一份副本。实际上不会键入两次;
[Wed Aug 05 20:49:43deppfx@localhost:~]$xdotool类型密码
密码[Wed Aug 05 20:50:51deppfx@localhost:~]$密码
我怎样才能避免这种情况?有人能解释一下这种行为吗?它实际上并没有输入两次;它在控制终端的同时进行键入,然后shell提示符返回并重新格式化在终端键入的内容。尝试在不同的xterm中键入(例如,
xdotool selectwindow type password
),您应该只看到一份副本。实际上不会键入两次;它在控制终端的同时进行键入,然后shell提示符返回并重新格式化在终端键入的内容。尝试键入其他xterm(例如,xdool selectwindow type password
),您应该只会看到一个副本。@Wnoise是正确的
但如果你坚持你可以这样做:
stty -echo && xdotool type password && stty echo
@Wnoise是对的
但如果你坚持你可以这样做:
stty -echo && xdotool type password && stty echo
解释原因:
这不是第二次。解释为什么会出现这种情况需要一些细节
关于外壳和端子的行为
你可以通过正常的键盘输入来观察这一点
这:
%睡眠5
当sleep运行时,在同一终端中键入“hello world”。
当sleep退出并返回shell提示符时,您将看到
大概是这样的:
夜幕降临(~)%睡眠5
hello world黄昏(~)%hello world
正在发生的事情是在睡眠运行时输入终端(或
(xdool),sleep不从stdin读取数据,所以当shell给定时
控件再次读取击键(在输入缓冲区中)并
将它们打印在屏幕上,显示您在上面看到的内容
我当前的解决方法是添加一个额外的echo
,例如:
xdotool type password; echo
哪个输出:
[Wed Aug 05 20:49:43 deppfx@localhost:~]$ xdotool type password; echo
password
[Wed Aug 05 20:49:43 deppfx@localhost:~]$ password
这不会删除前一行,但至少可以防止您的提示增长被重复的命令占用太长时间。解释了原因:
这不是第二次。解释为什么会出现这种情况需要一些细节
关于外壳和端子的行为
你可以通过正常的键盘输入来观察这一点
这:
%睡眠5
当sleep运行时,在同一终端中键入“hello world”。
当sleep退出并返回shell提示符时,您将看到
大概是这样的:
夜幕降临(~)%睡眠5
hello world黄昏(~)%hello world
正在发生的事情是在睡眠运行时输入终端(或
(xdool),sleep不从stdin读取数据,所以当shell给定时
控件再次读取击键(在输入缓冲区中)并
将它们打印在屏幕上,显示您在上面看到的内容
我当前的解决方法是添加一个额外的echo
,例如:
xdotool type password; echo
哪个输出:
[Wed Aug 05 20:49:43 deppfx@localhost:~]$ xdotool type password; echo
password
[Wed Aug 05 20:49:43 deppfx@localhost:~]$ password
这不会删除前一行,但至少可以防止您的快速增长被重复的命令占用太长时间。感谢您的解释。我怎样才能避免这种情况?我正在尝试使用xdotool自动粘贴剪贴板,因此无法使用
selectwindow
选项。@deppfx:没有什么可以避免的。这真的只是打字一次。谢谢你的解释。我怎样才能避免这种情况?我正在尝试使用xdotool自动粘贴剪贴板,因此无法使用selectwindow
选项。@deppfx:没有什么可以避免的。其实只需输入一次。