4

这个问题可能听起来很奇怪,但我会解释上下文并希望它能证明它的合理性。我在 Linux 上尝试使用一些制作不良的 shell。

我必须使用fdband fcsh,它们是 Adob​​e 的 Flash 命令行调试器和编译器外壳。这不是特别相关 - 只是它们是 shell的事实,即你运行fdb,它会给你一个提示(fdb),你输入命令。都很酷。

但。假设您想重新执行上一个命令,所以您按键盘上的 [Arrow-Up],就像您在 Bash、Python Shell、GDB shell 等中所做的那样。但它不起作用。我没有看到提示符处的最后一个命令,而是看到了(fdb) ^[[A(注意这(fdb)是提示符)。按 [Arrow-Left] 键返回几个字符并修复您键入的命令 - 同样的故事。

这看起来像 Adob​​e 并没有很好地制作它的外壳。有没有办法打开一个简单的 bash shell(或其他东西),它将继续将我的命令提供给一个打开的fdbshell,作为守护进程保存?我希望通过这种方式,我可以获得 Bash 用于处理命令的简洁易用特性,但让它们由fdb.

注意:我认为,我发现这个包装器保持fcsh守护进程并保存它的 pid 文件。这很酷。我还没有使用它,但考虑它。不过,我的问题仍然存在:有没有办法将命令从一个 shell 传递到另一个 shell?

4

1 回答 1

8

Bash 使用 GNU readline 库,该库只能用于开源程序(具有适当的许可证)。但是你可以使用rlwrap。它存在于大多数 Linux 发行版中。例如,您可以将其用作rlwrap fdb

于 2012-04-24T06:54:43.617 回答