无法在终端中输入新命令 - 卡在“>”

Shr*_*ani 3 command-line bash

无论我做什么,我都被困住了>。如何输入新命令?

$ chmod -R 600 `/ .ssh
> 
> chmod
> id_rsa.pub
> 
> sudo chmod 600 ~/ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

截屏

当我遇到“权限被拒绝”问题时,我试图通过关注 YouTube 视频来同步主从。在尝试解决它时,我遇到了>. 现在我无法输入任何新命令。

请指导我。我是 Linux/AWS 新手。

hee*_*ayl 7

您使用了较旧的命令替换语法 `` AKA 反引号,只有第一个在初始PS1. 也就是说,您在主提示符中放置了一个反引号并且没有用另一个将其关闭,因此 shell ( bash) 继续在辅助提示符上接收输入PS2(默认情况下>)。

在常规情况下,只需使用另一个反引号来关闭替换就可以了,但是由于您连续使用了太多不明确的命令,请按Ctrl+C关闭PS2PS1再次获得主要提示。

当我们在这里时,对于任何类型的命令替换操作,开始使用更健壮的$()而不是有缺陷和不推荐使用的``。

例子:

$ echo `whoami
> `
foobar
Run Code Online (Sandbox Code Playgroud)

另外,你真的在​​努力chmod -R 660 /吗?

请不要这样做,也不要运行任何您不理解或不完全信任的命令。