案件:
- 通过不稳定的 VPN 连接使用 Samba 挂载 Windows 共享(有时非常慢,有时会掉线)
- 当对文件名进行制表符补全时,如果在尝试制表符补全时 VPN 很慢或者断开,我的 bash shell 就会冻结。
例子:
$ cp myfile.zip /mnt/winbox-c/Progr<tab> key pressed here
当这种情况发生时,我可以按什么键让 bash 脱离挂起状态?
答案1
试用CTRL+C
这在 tcsh 中对我有效,我相信它在 bash 中也应该有效。
答案2
在 bash 中,我还发现CTRL+ \(control + 反斜杠,我认为它会发送 SIGQUIT)也可以工作,但是会将光标留在原处,而不是完全取消命令。
我自己也在寻找这个答案,因为如果 bash 无法查找远程主机的 IP 地址,它的 ssh tab 补全会挂起 5 到 10 秒。这种情况发生在我没有本地 DNS 的家庭网络上。在 /etc/hosts 中设置正确的 IP 地址可以加快速度。
答案3
Ctrl+C仅当网络速度慢或无法访问时才有帮助。
但有时问题是,如果它冻结的时间比您预期的要长,或者永远不会恢复,即使在Ctrl+C或Ctrl+Z或任何组合之后,您最终也只能关闭终端。
然后请检查您的 PATH 变量,如果没有为网络上安装的任何路径设置该变量,则您将无法到达。
这至少是我的问题。