linux - Bash 概念性问题

标签 linux bash

<分区>

我是 linux 和 bash 的新手,我正在处理一些不同的脚本,但我有一些概念性问题需要回答,以帮助我找到完成我想做的事情的最佳方法。

  1. 在 bash 脚本中存储数据并将其保存为另一个脚本可以快速解析的文件的最有效方法是什么?

  2. 有哪些丰富多彩的 bash 菜单的好例子?我怎样才能在 bash 中有一个多列菜单?

  3. 我可以在 bash 中显示图像吗?还是将图像信息发送到(比方说通知发送)并让它显示任何图像会更好吗?

谢谢。

最佳答案

这是一大堆问题:-)

首先,在 bash 脚本中存储数据的最有效方式完全取决于数据和您希望对其进行的处理。如果处理将由 bash 本身完成,则在 bash 变量(大小允许)中可能会更快。如果 grepsedawk 等外部程序将在 bash 的指导下处理它,则文件可能变得更好。

但这是一个非常的通用指南 - 您需要分析数据及其使用,特别是因为它在文件中的存储方式也很重要。举例来说,如果我单独在 bash 中处理它,我不会将固定长度的记录存储为 XML 文件,因为这意味着我必须编写大量的 XML 处理代码贝壳。我可能只是将它作为固定长度的记录存储在一个平面文件中。

其次,我没有给你的例子,因为 bash 要么是一个命令行驱动的东西,要么至多是一个非常简单的基于菜单的东西。它通常不用于花哨的 UI 工作。

而且您可以很容易地拥有多列菜单,最简单的形式如下:

echo "1. Enter new contact.       4. Find contact"
echo "2. Edit contact             5. Exit"
echo "3. Delete contact"

最后,bash 本身不支持显示比 ASCII 艺术更复杂的图像:

  |\_/|
 / @ @ \
( > º < )
 \__V__/
 /  O  \

因此,如果您需要比这更复杂的东西,您可能会将其传递给外部程序。

关于linux - Bash 概念性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694600/

相关文章:

linux -/proc/iomem 显示的 "System RAM"是不是像未分配的内存?

python - AWS 弹性 BeanStalk "eb init"错误

mysql - Yet another "Lost connection to mysql server at ' reading initial communication packet', 系统错误 : 0"issue

bash - 在 bash 中创建 RS256 JWT

git - 克隆的 github 存储库上的文件和目录权限

mysql - 在 bash 脚本中运行时删除查询执行非常慢

linux - 使用 grep 获取行号

linux - 有什么方法可以区分具有相同 MAC 地址的两台 Linux 机器吗?

linux - 在 bash 中连接并作为参数传递

bash - 根据多个值检查 bash 变量