下の画像のように、Linuxコンソールでカラーテキストをオーバーレイできますか? [閉鎖]

下の画像のように、Linuxコンソールでカラーテキストをオーバーレイできますか? [閉鎖]

私はさまざまなニーズを満たすために多くのbashスクリプトを書いています。最近では、その上に様々な指標を実装したい衝動を感じ始めました。

自動化された無人インストールスクリプトでどのようなことが行われているかを知っておくとよいでしょう。

また、..実際の進行状況を示すステータスバーがあれば良いようです。

ターミナル出力を操作するためのLinux(Debian推奨)モデルなどのライブラリやコマンドはありますか?

(次のコマンドは、読者が理解できるように偽モデルです。)

txtoverlay -k head -c azure "すべてのコマンドの上にMyStringを表示"

または

txtovelay -k tail -c green -a right "[完全性: 57%]"

または

txtovelay -kキャンバス-c水色-b濃い青-l 2 -t 5 -w 68 -h 50

次のグラフィックモデルのようなものを作成したいですか?

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

または、より複雑なオーバーレイ..

デフォルトでは、概念はHTMLでも同じです。デフォルトのWebページには、場所が固定されているいくつかのDIVがあります。

<div id="MyDiv1" style="position:fixed; color: #00ffff; top: 0px; left: 0px; padding: 10px"></div>

<div id="MyDiv2" style="position:fixed; color: #00ff00; bottom: 0px; right: 0px; padding: 10px; text-align: right"></div>

そして、スクリプトの実行中に時々、次のようなさまざまなコマンドを実行します。

document.getElementById("MyDiv1").innerHTML = "Step 5: Installing NET-TOOLS package in progress..<br>-------------------------"

document.getElementById("MyDiv2").innerHTML = "[Completition: 57 % ]"

ベストアンサー1

はい、これを行うことができます。特定の場所にカラーテキストを配置する方法に関する質問に集中してください。シンプルだがやや低いレベルのアプローチは、このtputユーティリティを使用することです。tputデータベースの助けを借りて端末画面を操作するコマンドがたくさんありますterminfo。たとえば、tput cup 23 4カーソルを端末の23行と4列に移動します。他の例:

tput ed  # clear to end of screen

tput setaf 2  # set foreground color to bright green

tput cubl  # move cursor left one space

tput rev  # turn on reverse video mode

tput sc  # save the cursor position
tput rc  # restore the cursor position

sttyこのユーティリティの目的を見つけることもできます。たとえば、現在の画面のサイズを確認したい場合は、次のようにしますstty size

私は以前、いくつかのユーティリティのためのおおよその「GUI」を構築し、画面を2つの部分に分けました。上部には固定高さヘッダーがあります。下部には(スクロール)コマンド出力が含まれています。私はBashスクリプトと+だけを使ってtputこれをしましたstty。試行錯誤で多くを見つけましたが、オンラインには次のような良いリソースがあります。http://linuxcommand.org/lc3_adv_tput.php

man tputとを参照してくださいman 5 terminfo。後者の場合は、下にスクロールする必要があります。事前定義された関数特に部分。

より高いレベルの抽象化があるかもしれません。用語情報画面ベースの作業ですが、比較的簡単な要件がある場合はtput良い選択です。 (私はtputこれだと信じています呪い他の回答で言及されたパッケージです。 )

編集する:すべての画面でこれらの機能が好きなように聞こえるのでtput、上記の方法を使用し、メッセージが表示されるたびに呼び出しを更新するPROMPT_COMMANDたびに、スクリプトに環境変数を指定するシェルスクリプトを作成することでこれを行うことができます。付け加えなければなりません。より頻繁に更新するには、画面に接続している間にバックグラウンドでいくつかのプロセスを実行する必要があります。これは私がこの答えで尋ねたい以上のものです。

おすすめ記事