shell脚本编程学习笔记(1)

在linux上编程,离不开shell,计划好好看看shell编程,并在这里做些笔记以供有相同兴趣的人分享,主要参考《shell脚本学习指南》。


学习shell脚本编程之前,需要了解脚本编程语言和编译型语言的概念。


一般很多中型、大型的程序是用编译型语言写成的,比如C、C++、Java等。这类程序从源代码编译成目标代码,直接通过计算机执行。编译型语言执行效率比较高,大多运作于底层,处理的是字节、整数、浮点数等机器层级的对象,因此实现一个具体的功能,比如“将一个目录里的所有文件复制到另外一个目录中”,会比较复杂。


脚本编程语言相对前者来说比较高级,主要表现在能更加简洁的实现一些复杂的功能,因此开发的周期比较短,但是运行的效率低,通常用于小型的程序。比如用作一些测试方法等。


在我的理解中,脚本程序就是一系列命令的组合。

举个例子。假设我想知道现在系统上有多少人登录。可以输入 who 命令得到登录的信息,利用wc指令可以计算数量。因此输入 who | wc -l 即可得到当前登录的用户数量。将该命令写入一个文件,并将该文件的权限改为可执行,那么就能执行该文件,效果和直接输入who | wc -l一样。这个文件就是shell脚本。这个过程就是脚本编程。

所以,脚本编程的过程就是:输入一串命令,实现预期的功能,将这些命令写入文件,就是一个脚本。


这里有两个问题:

第一,为什么要写成这样一个脚本文件,而不是直接输入一些命令就行了?

事实上,shell脚本通常用于一些日常工作,就是每天都要做的,重复很多次的,写成脚本之后,每次只需要运行这个程序就可以了,方便很多。


第二,脚本编程语言很多种,为什么用shell?

因为shell是unix系统中最重要、最广泛的脚本,所有的unix系统都会有shell,并且其功能很完备,当然要用它。更关键的是,它很酷炫!!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。