退格在 sqlplus 命令行中不起作用

Posted

技术标签:

【中文标题】退格在 sqlplus 命令行中不起作用【英文标题】:Backspace doesn't work in sqlplus command line 【发布时间】:2014-04-24 12:13:53 【问题描述】:

在我的 sqlplus (for oracle) 命令行中,退格不起作用。如何配置 sqlplus 以使用退格从命令行删除字符?我不经常使用sqlplus命令行,只是为了对我的数据库进行快速干预,对我需要使用的次数来说是非常危险的。

亲切的问候。谢谢

【问题讨论】:

ctrl-h 通常在我运行 sqlplus 的大多数 Unix 上用作退格键。 ctrl + backspace 在 RHEL 上和我一起工作 【参考方案1】:

按照here 的说明,我能够执行以下操作并使其正常工作:

    在终端输入stty erase 按键盘上的CTRL+v 按键盘上的Backspace Key(当我这样做时,它会将^H 放在一行中,所以我的最后一行看起来像stty erase ^H) 按回车

现在,如果我启动 sql plus,我可以使用退格键删除输入错误的字符。

【讨论】:

它在 RHEL 6.5 中工作。谢谢。将其添加到 /etc/profile 以使其每次都能正常工作。 再次感谢。我看到这个并点击投票,它说我已经在 2016 年投票了。当时这是一个很好的答案,现在是一个很好的答案。【参考方案2】:

你在哪个平台上工作?

如果是 linux,请查看this section of a wikipedia article on the bash 了解一些键盘快捷键。当您从 shell (bash) 调用 sqlplus 时,您应该能够使用相同的快捷方式导航 sqlplus 命令行。具体来说,ctrl-b 将是退格键。

【讨论】:

这是 Solaris (Unix) 谢谢 您使用的是 korn shell (ksh) 吗? This SO post's 接受的答案显示了如何使退格键(和其他一些键)工作,这也应该传递给 sqlplus。根据this cheat sheet,z shell 的行为类似于 bash。【参考方案3】:

感谢您的建议。在其他论坛中,我发现了这种解决方法:

我使用 stty -a 来查看 I/O 设置:我可以看到擦除设置为 ^?

因此,为了设置用于删除字符的退格,我设置了 stty erase ^H,然后为会话工作。

谢谢。

【讨论】:

以上是关于退格在 sqlplus 命令行中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

添加表格视图单元格在 iOS 中不起作用?

Installshield静默卸载在命令行中不起作用

Argparse 教程示例在 Windows 命令行中不起作用

“php artisan serve”命令在 Laravel 的命令行中不起作用?

require_once 在命令行中不起作用

Xamarin 形式;条件编译符号在 MSBUILD 命令行中不起作用