この素晴らしい記事を読んでLinuxでttyが動作する方法今気になります。
Bashを実行すると、各行はプロンプトで始まり、ユーザーはプロンプトを削除できません。これはラインルールレベルでttyによって制御されますか、それともbashによって制御されますか?
答え1
Bash自体を通してリーディングライン図書館。 (Bash 管理者が保守します。) 入力エリアの開始位置を知り、それに応じて動作します。
リンクされた記事にはReadlineとShellも言及されています。
したがって、便宜上、オペレーティングシステムは編集バッファといくつかの基本的な編集コマンドを提供する。 [...]高度な
アプリケーションは、デフォルトのクッキング(または標準)モード機能の代わりに、生モードにラインルールを配置して無効にすることができます。ほとんどの対話型アプリケーション(エディタ、メールユーザーエージェント、シェル、呪いに依存するすべてのプログラムまたは読書船) は生モードで実行され、すべての行編集コマンドを独自に処理します。
(CurseとReadlineを編集者、MUA、Shellなどのレベルに置かないでください。むしろ、これらのプログラムは入力を処理するために使用するツールです。)
一方、内蔵の行編集機能でも画面の前の内容を上書きすることはできません。たとえば、セクションecho -n 'prompt: '; cat
を編集できないはずですprompt:
。