AIX 上的 ksh 是否可以配置为使用 Tab 键完成文件名?

AIX 上的 ksh 是否可以配置为使用 Tab 键完成文件名?

我有一些 AIX 7 服务器,它们限制了我可以安装的软件,我想知道我是否可以ksh在 shell 启动时使用 Tab 键来完成文件名。

ksh 的手册页很少,我在这里没有看到任何涉及此方面的相关问题。由于大多数用户使用 ksh,我对是否将 shell 转移到 bash 犹豫不决 - 但我认为这是一个简单的解决方案。

我最初使用 putty/ssh 从 PC 登录,一旦 X11 转发将流量带回 PC 上的 Hummingbird Exceed,我主要从 xterm 工作。

AIX 7.1附带的 /usr/bin/ksh 是否bos.rte.shell可以配置为触发文件名完成(通常通过按 ESC+\ 触发)按 T​​AB 键?

答案1

我猜你的 shell 处于 vi 模式。不确定这是否有效,因为我的 AIX 知识有限,但您可以尝试将其添加到您的个人资料中:

set -o emacs
bind "^I=complete"

Google 表示,从这个角度来看,AIX 中的 ksh 有点残废,所以也许 bash 是更好的选择。

答案2

查看是否/usr/bin/ksh93可用:

ksh93 --version

如果它说

version         sh (AT&T Research)

然后将其用作交互式 shell。它将具有 ${.sh.version} 并且应该具有 TAB 扩展。

答案3

这个问题还有一个替代方案。

第一组vi模式为了ksh

$ set -o vi

之后,您就可以Tab这样使用密钥了。示例:您想要完成下一个路径:

$ cd /usr/local/s

输入Tab密钥两次,您将看到:

$ cd /usr/local/s
1) sbin/
2) share/
3) src/

假设您要选择2/usr/local/share/文件夹),请键入2 Tab2键后接Tab键)。你会看到这个:

$ cd /usr/local/share/ 

相关内容