在限制模式下使用时,我在bash中遇到了退格问题。我已经搜索了很多东西,没有任何效果或匹配的场景面临着。
在按退格键时,光标向前移动一个空白区域,但实际上它在内部删除了前一个字母,即按下"输入"它实际上有效,但在屏幕上看不到。
示例:命令" ls退格退格",不列出任何内容(如预期的那样),但在屏幕上ls在2个退格后可见,并且附加了2个空格。
期待有用的建议。 :)
提前致谢!! :)
下面是我用来chroot bash的补丁。 如果出现问题,请查看并通知我。
file:shell.c:@@ -384,6 +387,30 @@
+ if (getcwd(pwd,sizeof(pwd)) != pwd )
+ {
+ return -1;
+ }
+ /* chroot to mount point path */
+ if( !(chroot(chroot_dir)))
+ {
+ seteuid(getuid());
+ setegid(getgid());
+ /* On successful to chroot env invoke bash prompt */
+ if(! chdir(pwd))
+ {
+ if(execlp("/rbin/bash","/rbin/bash","--restricted",NULL))
+ {
+ }
+ }
+ else
+ {
+ chdir("/");
+ if(execlp("/rbin/bash","/rbin/bash","--restricted",NULL))
+ {
+ }
+ }
+ }
答案 0 :(得分:0)
尝试使用Shift键使用Backspace,它应该可以工作。
如果按退格键正在打印一个字符,那么您可以使用stty更改终端设置,如下所示:stty erase backspace_character
其中backspace_character是您按退格键时获得的字符。
答案 1 :(得分:0)
您可以使用emacs
命令
对于 shell终端,您可以点击命令
set -o emacs
对于 vi编辑器,您可以点击命令
set -o vi