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

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

无论我做什么,我都无法进入>。我该如何输入新命令?

$ chmod -R 600 `/ .ssh
> 
> chmod
> id_rsa.pub
> 
> sudo chmod 600 ~/ssh/id_rsa

截屏

当我尝试按照 YouTube 视频同步主从设备时,遇到了“权限被拒绝”问题。在尝试解决该问题时,我遇到了问题>。现在我无法输入任何新命令。

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

答案1

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

在一般情况下,只需使用另一个反引号来关闭替换即可,但由于您连续使用了太多模棱两可的命令,请按Ctrl+C来关闭PS2并再次获取主提示PS1

当我们这样做时,对于任何类型的命令替换操作,开始使用更强大的$()而不是有缺陷的和弃用的“”。

例子:

$ echo `whoami
> `
foobar

另外,您真的想这么做chmod -R 660 /吗?

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

相关内容