04 2006 档案
摘要:简单的程序.需求假如我们有一个扩展的CD集合.要使得我们的生活更为简单,我们设计和实现在一个管理CD的程序.用我们所学的Linux编程的知识来实现一个电子目录似乎是一个很不错的主意.我们希望,至少最初是这样的,我们的程序可以存储基本的CD信息,例如标签,音乐种类或是艺术家.我们还希望可以保存一些跟踪信息.我们希望可以在每一个CD项目上进行搜索,但是却不会在跟踪细节上进行搜索.为了使得我们的程序完整,我们希望可以输入,更新,删除任何信息.设计我们在上面所说的三个需求---更新,搜索,显示数据---指明了我们要实现一个简单的菜单程序.所有我们要存储的内容都是文本的,而且我们在这里假设我们的CD集合
阅读全文
摘要:Here Documents从一个Shell脚本传递给一个命令的一个比较特殊的方法就是使用here document.这个文档可以使得执行的命令就像是由文件或是键盘读入的,而事实上,这是由这个脚本读入的.一个here document是以<<开头的,后面所跟的是要在文档的结尾处重复出现的字符序列.<<是Shell的重定向标签,在这样的情况下,他会强制将命令输入给here document.这个特殊的序列的作用就像是一个标记,来告诉Shell here document要在哪里结束.这个标记充列不可以出现在要传递给命令的行上,所以最好是将他们标记为最不常用的或是难以忘记的
阅读全文
摘要:两个更为有用的命令和正则表达式在我们开始学习新的Shell编程知识之前,我们先来看一下两个更为有用的两个命令,这两个命令虽然并不是Shell的一部分,但是在进行Shell编程时却会经常用到.随后我们会来看一下正则表达式.find命令我们先来看的是find命令.这个命令对于我们用来查找文件时是相当有用的,但是对于Linux新手来说却有一些难于使用,在一定程序是由于他所带的选项,测试,动作类型参数,而且一个参数的执行结果会影响接下来的参数.在我们深入这些选项和参数之前,我们先来看一个非常简单的例子.假如在我们的机子上有一个文件wish.我们来进行这个操作时要以root身份来运行,这样就可以保证我们
阅读全文
摘要:命令我们从一个Shell脚本的内部执行两种类型的命令。也就是通常(normal)的命令,这样的命令我们也可以在命令行的方式下来运行,称为处部命令,另一种就是我们前面所说的内建(built-in)命令,称之为内部命令。内建命令是在Shell的内部来实现的而不能为外部程序所调用。然而大多数的内部命令也会作为相对独立的单一程序来提供,而这也是POSIX 标准所要求的一部分。通常来说内部命令与外部命令并没有太大的区别,除非是这个内部运行得更为高效。然而在这里我们只会讨论一些主要的命令,包括我们编写一下脚本时所需要用到的外部与内部命令。作为一个Linux用户我们会知道一些其他的可以在命令行来运行的命令。
阅读全文
摘要:控制结构 Shell有一结构控制集合,我们再一次说明他们与其他的程序语言非常相像. If if语句是相当简单的:他测试一个命令的结果,并且有选择的执行一组语句: if condition then statements else statements fi 使用if命令: 下面的这个例子中显示if的普通用法,他会询问一个问题并依据这个问题来进行回答: #!/bin/sh echo “Is it morning? Please answer yes or no” read timeofday if [ $timeofday = “yes” ]; then echo “Good mornin...
阅读全文
摘要:Shell语法变量:在Shell中,我们在使用变量之前并不需要进行声明.相反我们可以在需要的时候进行简单的使用就可以了.在默认的情况下,所有的变量都是作为字符串进行存储的,虽然有时我们会用数字为其赋值.Shell以及其他的一些实用的转换程序会将数字字符串转换成相应的值为进行操作.在Linux系统中是要区分大小的,所以在Shell看来变量foo与Foo是不同的.在Shell中我们要访问变量的值,我们要在变量前加上一个$.当我们要为变量赋值时,我们可以只使用变量的名字,Shell会在需要的时候进行动态创建.检测变量内容一个简单的办法就是在终端进行输出,这时要在变量前加上一个$.在命令行中我们可以用
阅读全文
摘要:为什么要使用Shell编程?Linux操作系统是由UNIX操作系统发展起来的.UNIX操作系统中所体现出来的思想和哲学深沉的影响了现代其他的操作统.在UNIX系统中提供了许多不同的Shell程序.大多数的商业UNIX提供了Korn Shell,当然了我们也还有其他的Shell可以来用.虽然Shell看起来与Windows的命令行相类似,但是他显得更为的强大,可以以他的方式来运行更为复杂的程序.我们可以使用Shell进行更为快速和简单的编辑.另外在大多数的Linux基系统的安装提供了Shell,所以我们可能很方便的来检测我们的工作是否可以正常的进行工作.而且Shell可以提供许多的实用程序,我们
阅读全文
摘要:在最初使用Debian的时候并没有仔细的注意过Linux的声卡驱动,虽然在早一些的时候就已经晓得了ALSA是一个相当不错的声卡驱动,但是因为自己的安装使用经历一直比较的顺利,也便没有安装这个来驱动声卡,但是最近几天,Debian不晓得是怎么了,不高兴的样子,想要听个音乐来轻松,竟然一点也唱不起来.静等了几天,还是决定安装一个ALSA来驱动一下:1安装ALSA的驱动:# apt-get install alsa-base2 安装一个ALSA的配置程序# apt-get install alsa-utils3 运行alsaconf进行一下简单的配置其实也就是一路回车下来,最多的是仅选择一下我的声卡
阅读全文
摘要:Gentoo的哲学-------------------------------------------------------------------------------- 我之所以创建Gentoo是因为之前我没有办法找到一种我喜欢的Linux发行版。我用Linux发行版时, 其中最重要的一件事情是发行版里管理整个系统的系统工具本来是应该让用户工作更容易, 它似乎一直希望用户能够感应到这点并且能够让系统去做用户要做的工作。但是当我告诉系统我想要做些什么的时候, 似乎它更在意并且不断的传输我一个信息:“它想让我做什么!” 所以我创立了Gentoo Linux并且开始设计了一种比以往的系统.
阅读全文