2017-07-11 17 views
1

制限モードで使用されている場合、バックスペースに問題があります。私はすでにたくさんのものを通してグーグルグーグルを務めました。バックスペースがbash制限モードで動作しない

バックスペースを押すと、カーソルは1つの空白で前方に移動しますが、実際には前の文字を削除しています。つまり「Enter」を押すと実際には動作しますが、画面には表示されません。

例: "ls backspace backspace"コマンドでは、(期待どおり)何も表示されませんが、2つのバックスペースと余分な2つの空白が追加された後で、スクリーンlsが表示されます。

お寄せいただきありがとうございます。 :)

ありがとうございます! :)

以下は、私のbashをchrootするために使用したパッチです。 こちらをご覧になり、何か問題がある場合はお知らせください。

ファイル: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

はこれです以下のようにコマンドを打つことができるため

set -o emacs 

以下のようにコマンドを打つことができるシェル端末用emacsコマンド

を使用することができますコンソールまたは端末エミュレータで実行できます。端末エミュレータの場合、これは設定に関連する可能性があります。 –

+0

それは私によって導入されたある特別なパッチでのみ通常のbashです。 OSのバージョンが異なる他の環境(旧バージョンのOS)でも同じことが働いています – Dilip

答えて

0

は、ShiftキーとBackspaceキーを使用してみてください、それが動作するはずです。

押すとバック​​スペースが文字を印刷している場合は、このような端末の設定変更するにsttyを使用することができます。backspace_characterはバックスペースを押しながら、あなたが得る文字ですstty erase backspace_characterを。

+0

素早く対応してくれてありがとうございます。セキュリティ上の理由から、制限付きbashモードでは望んでいないので、私はbashでsttyコマンドを制限しています。また、この解決策は回避策のように見えますが、実際の根本原因を修正することはありません。 – Dilip

0

あなたはのviエディタあなたは

set -o vi 
+0

set -o emacsは役に立ちません。 – Dilip

関連する問題