2012-05-22 48 views
2

我是linux新手& bash,我正在研究一些不同的脚本,但我有一些概念性问题需要回答,以帮助我找到最佳方法来实现我想做的事情。Bash概念问题

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

  2. 什么是丰富多彩的bash菜单的一些很好的例子?我如何在bash中使用多列菜单?

  3. 我可以在bash中显示图像,还是将图像信息发送给我们,比如通知发送,并让它显示任何图像?

谢谢。

+2

对于通常(但并非总是)应包含特定代码段的特定问题,您将会有更好的运气。 –

+1

这太开放了。 '1'取决于你的数据以及你如何使用它,'2'是一个内容列表问题,'3'没有说明你实际想要做什么(XY问题)。投票结束为NARQ – Daenyth

+0

查看['whiptail'](http://en.wikibooks.org/wiki/Bash_Shell_Scripting/Whiptail)或['dialog'](http://www.linuxjournal.com/article/2460) )。 – sarnold

回答

2

这是一个相当:-)

的问题花香首先,将数据存储在一个bash脚本的最有效的方式取决于完全上的数据,你想要的处理做了。如果处理将由bash本身完成,那么bash变量(大小允许)可能会更快。如果外部程序如grepsedawk将在bash的指导下处理它,则文件可能会更好。

但是,这是一个非常一般指南 - 你需要来分析数据和使用它,特别是因为如何它存储在文件中也很重要。举个例子,如果我单独在bash中处理它,我不会将定长记录存储为XML文件,因为这意味着我必须为shell编写大量的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 \ 

所以,如果你需要比这更复杂的东西,你可能会把它传递给外部程序。

+1

+1(猫)。我甚至没有读过你的答案:D –

+1

嘿!这是我妻子的一张照片,你麻木不仁:-)哦,这就是ASCII艺术的不准确之处。 – paxdiablo

+1

现在我知道为什么你花这么多时间在SO上:P –