在linux上编程,离不开shell,计划好好看看shell编程,并在这里做些笔记以供有相同兴趣的人分享,主要参考《shell脚本学习指南》。
学习shell脚本编程之前,需要了解脚本编程语言和编译型语言的概念。
一般很多中型、大型的程序是用编译型语言写成的,比如C、C++、Java等。这类程序从源代码编译成目标代码,直接通过计算机执行。编译型语言执行效率比较高,大多运作于底层,处理的是字节、整数、浮点数等机器层级的对象,因此实现一个具体的功能,比如“将一个目录里的所有文件复制到另外一个目录中”,会比较复杂。
脚本编程语言相对前者来说比较高级,主要表现在能更加简洁的实现一些复杂的功能,因此开发的周期比较短,但是运行的效率低,通常用于小型的程序。比如用作一些测试方法等。
在我的理解中,脚本程序就是一系列命令的组合。
举个例子。假设我想知道现在系统上有多少人登录。可以输入 who 命令得到登录的信息,利用wc指令可以计算数量。因此输入 who | wc -l 即可得到当前登录的用户数量。将该命令写入一个文件,并将该文件的权限改为可执行,那么就能执行该文件,效果和直接输入who | wc -l一样。这个文件就是shell脚本。这个过程就是脚本编程。
所以,脚本编程的过程就是:输入一串命令,实现预期的功能,将这些命令写入文件,就是一个脚本。
这里有两个问题:
第一,为什么要写成这样一个脚本文件,而不是直接输入一些命令就行了?
事实上,shell脚本通常用于一些日常工作,就是每天都要做的,重复很多次的,写成脚本之后,每次只需要运行这个程序就可以了,方便很多。
第二,脚本编程语言很多种,为什么用shell?
因为shell是unix系统中最重要、最广泛的脚本,所有的unix系统都会有shell,并且其功能很完备,当然要用它。更关键的是,它很酷炫!!
原文地址:http://blog.csdn.net/bing_bing304/article/details/42684451