例如,我将以下内容粘贴到我的终端中(末尾带有换行符):
pwd
adb doesnotexist
ls
三个都运行了。第二个失败退出。另一方面,粘贴以下内容:
pwd
adb shell pwd
ls
停止于adb
并且不会继续粘贴或执行ls
。
- 这里采用什么机制来中止粘贴?
- 我怎样才能覆盖它?
答案1
我认为发生这种情况的原因是您正在终端中运行这些命令,而某些命令会干扰终端配置。例如,当sudo
要求输入密码时,它会清除终端缓冲区,因此您无法预先输入密码:您不能先执行sleep 5; sudo ls
,然后在 期间输入密码。要求确认sleep
也是一样。rm
我可以用以下方法获得同样的效果:
ls
script -c ls -f /dev/null
pwd
意思是,如果我用鼠标在 Konsole 中粘贴这些命令,pwd 就不会执行。这里,第二个命令肯定会扰乱终端配置,这让我相信确实如此adb shell
(但可能不是abd doesnotexist
)。