-2

テキストメニューを表示し、ユーザーに選択させたい、たとえば以下のようなテーブル:

┏━━━━━━━━━━━━━┓
┃     WIFI Tools Menu      ┃
┣━━━━━━━━━━━━━┫
┃ 1. Create virtual WLAN   ┃
┃ 2. Start virtual WLAN    ┃
┃ 3. Stop virtual WLAN     ┃
┃ 4. View WLAN connections ┃
┃ 5. Change WLAN password  ┃
┃ 6. Share Connection(ICS) ┃
┃ 7. Exit                  ┃
┗━━━━━━━━━━━━━┛

Linux シェル コンソールで等幅フォントが使用されていても、Windows バッチではこの表はかなり適切に表示されますが、出力は依然として見苦しくなります。

以前はシェル スクリプトで「select」を使用していましたが、見栄えが悪く、ダイアログ + メニューも別のソリューションですが、エンド ユーザーに同じエクスペリエンスを提供することはできません。私のスクリプトは多くのタスクを実行する必要があります。ダイアログをポップアップしたくありません。

上記の表をきれいな書式で表示するにはどうすればよいですか?

Windows メニュー:

ウィンドウの結果

Linux メニュー:

Linux の結果

4

1 に答える 1

3

スクリーンショットから、問題がLinuxではなくWindowsにあることは明らかです。水平線は実際には結合せず、ギャップはテキストの文字分割にマップされません. 水平線が 2 文字幅の「モノスペース」フォントを見つけることができました (なぜ私は驚いたのでしょう。きれいな線画には Unicode ブロックを描画するボックスが必要であり、windows + console + utf-8 は間違いなく不浄な組み合わせです)。

モノスペースが実際にモノスペースを意味するLinuxでは、結果として水平線が2倍短くなります。

正しいアプリが必要な場合は、Linux を参考にして、Windows のバグを回避するのではなく、Linux が同じように動作することを期待する必要があります。

于 2013-10-27T09:14:12.770 に答える