我有一些 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+\ 触发)按 TAB 键?
答案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
Tab(2
键后接Tab键)。你会看到这个:
$ cd /usr/local/share/