当我在无头式 Ubuntu 18 上通过 ssh 使用 Win 10 上的 MobaXterm 执行 `sudo su otheruser` 时,左箭头键会打印 `^[[D`。如何向左移动一个字符?

当我在无头式 Ubuntu 18 上通过 ssh 使用 Win 10 上的 MobaXterm 执行 `sudo su otheruser` 时,左箭头键会打印 `^[[D`。如何向左移动一个字符?

我有时需要以应用程序用户身份登录以执行一些手动操作、调试或处理故障。我不想进入我们的密码管理系统来获取应用程序用户的密码并设置新会话,我只想进入并执行sudo su otheruser我需要的操作。但是当我这样做时,我总是必须非常小心我输入的内容,因为我不能使用左箭头来修正拼写错误或进行调整。然后它只会打印诸如、或之类的内容^[[A。我^[[B怎样才能让它真正执行操作而不是将它们打印出来?^[[C^[[D

答案1

一个简单的解决方案就是bash在我登录到应用程序用户后运行:

sudo su otheruser
bash
# Now arrows work as expected.

另一个我发现要做的是:

sudo su -s /bin/bash - otheruser

回想起来,这个问题可能不太适合超级用户。我只是认为这是 MobaXterm 的问题,而其实这只是一个 Linux 问题。

相关内容