-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                  ┃
┗━━━━━━━━━━━━━┛

该表对 Windows 批处理显示相当不错,即使是 Linux shell 控制台也使用等宽字体,但输出仍然很难看。

我之前在 shell 脚本中使用过“选择”,但看起来很难看,对话框 + 菜单也是另一种解决方案,但它不会为最终用户保持相同的体验,我的脚本需要做很多任务,我不不想弹出对话框。

如何以漂亮的格式显示上表?

窗口菜单:

窗口结果

Linux 菜单:

Linux 结果

4

1 回答 1

3

从您的屏幕截图中可以清楚地看出,您的问题出在 Windows 上,而不是 linux 上:您的水平线实际上并没有连接,并且间隙没有映射到文本中的字母拆分。您已经设法找到水平线为两个字符宽的“等宽”字体(为什么我什至感到惊讶,干净的线条绘制需要方框图 unicode 块,而 windows+console+utf-8 绝对是一个邪恶的组合)

在 Linux 上,等宽实际上意味着等宽,因此您的水平线短两倍。

如果你想要一个正确的应用程序,你需要以 Linux 作为参考,并找到你在 windows 上的任何 bug,而不是解决 windows bug 并期望 Linux 表现相同。

于 2013-10-27T09:14:12.770 回答