bashがエコーを停止した場合はどうすればよいですか?


10

私が仕事で使用しているアプリケーションの1つは、bashにねじ込むことがあるので、自分の入力が表示されなくなりました。すなわち

$ echo foo
foo
$

なる

$ foo $

私は誤って実行しようとしましstty -echoたが、問題がさらに悪化しました。現在、コマンドの受け入れが停止し、入力が何らかの状態になり、>改行するたびに表示され、それ以外は何も表示されなくなりました。

私は何をすべきでしたか?


2
reset良いスタートを切るために走ってみてください。もちろん、この端末にコマンドを入力することはできません。別の端末から、問題のある端末番号cat >/dev/pts/3がどこに3あるかなどを試し、次のキーを押してくださいESC c ENTER Ctrl-D
jimmij 2014年

回答:


19

このようなものに対する通常の救済策は

stty sane

stty -echo入力のエコーオフそれだけでターンとして、これは悪化させてはいけない、とあなたはすでにそれを持っていました。

あなたはリターンを言うということは、単に原因>あなたは例えば、次の行にわたって継続を引き起こしているsomethngを開始したことを意味表示されるようにecho '、それが閉じられるのを待っているので、それを行います'文字列を終了するが。次のような他の原因もこれを引き起こしif somethingます。そのthen ... fi部分を待っています。

あなたは、おそらくヒットを持つことができますctrl- cその段階で、端末がそのように割り込みも生成されていなかったことを台無しにされた場合を除き、それは、コマンドの残りの部分を待って停止します。


ああ、それは理にかなっています。私は両方を打ってみましたctrl + cし、ctrl + zしかし、何かを達成していないようでした。
キットSunde 2014年

3

@wurtelの回答(特に>問題の可能性の高い説明)に加えて、stty echoはの反対なstty -echoので、それを使用することができます。reset通常はncursesパッケージに付属しているを使用することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.