在 Windows 10 上的 OpenSSH 客户端中执行最后一个命令

在 Windows 10 上的 OpenSSH 客户端中执行最后一个命令

我正在通过 Powershell 使用 Windows 10 (Home) 附带的 OpenSSH 客户端。如何重复最后执行的命令?我习惯使用向上键浏览最后执行的命令,但那不起作用,使用任何箭头键都会导致命令行中出现奇怪的字符(即 ^[[A )。其他与 Linux 相关的命令,如 !!,也不起作用...有什么想法吗?

编辑:问题似乎出在服务器端(Unbuntu),而不是 Windows 上的 OpenSSH 客户端(Putty 也会出现同样的问题)。所以现在的问题是:如何在远程服务器上使用向上键激活最后一个命令并使用 tab 键自动完成。

答案1

看起来您可能有一个sh默认的 shell 而不是bashsh具有非常有限的命令行编辑功能,并且不支持使用向上/向下箭头调用以前的命令。

要检查这一点,请输入以下命令:

grep '^username:' /etc/passwd

你当然应该替换用户名使用您在 Linux 系统中使用的实际用户名。

你应该看到这样的一行(就我的情况而言):

raj:x:1000:1000:Jarek,,,:/home/raj:/bin/bash

您的默认 shell 显示在行末。如果像/bin/bash上面一样,则向上/向下箭头应该可以工作。如果它们不起作用,则一定是有人在 shell 启动脚本(通常.profile.bashrc文件)中弄乱了某些东西。

如果您的 shell 与 不同/bin/bash(例如/bin/sh),您可以尝试更改它。输入命令chsh(它会要求您输入密码)并输入/bin/bash新 shell。登录新会话后,您的新 shell 应该处于活动状态。

相关内容