shell脚本在我们日常开发中比不可少,开源代码编译移植更是经常使用,用它来记录和管理我们编译。或许有人觉得开源代码,都为我们实现了,如configure MakeFile等。我们还有必要去自己在写吗?
答案是肯定的,我们用少量的脚本来完成重复的工作,提高效率。比如
configure有一堆参数需要我们设置,且有x86版本和arm版本编译它们的配置参数各不相同,一般情况下我会新建两个脚本来解决,建立一个build-x86.sh 和build-arm.sh 来配置编译参数。
我们就写个说说如何写个简单脚本:
用vi 编辑一个hello.sh
#!/bin/bash # This is a very simple example echo Hello World
这样最简单的一个 BASH 程序就编写完了。这里有几个问题需要说明一下:
一,第一行的 #! 是说明 hello 这个文件的类型的,后面的 "/bin/bash" 就表明该文件是一个 BASH 程序,需要由 /bin 目录下的 bash 程序来解释执行。BASH 这个程序一般是存放在 /bin 目录下,如果你的 Linux 系统比较特别,bash 也有可能被存放在 /sbin 、/usr/local/bin 、/usr/bin 、/usr/sbin 或 /usr/local/sbin 这样的目录下。
二,第二行是注释这里写一些有用的信息
三,echo 语句的功能是把 echo 后面的字符串输出到标准输出中去。由于 echo 后跟的是 "Hello World" 这个字符串,因此 "Hello World"这个字串就被显示在控制台终端的屏幕上了。
四,如何执行该程序
一种是显式制定 BASH 去执行:
$ bash hello.sh 或 $ sh hello.sh
或者可以先将 hello.sh 文件改为可以执行的文件,然后直接运行它,此时由于 hello.sh 文件第一行的 "#! /bin/bash" 的作用,系统会自动用/bin/bash 程序去解释执行 hello 文件的。
$ sudo chmod u+x hello.sh $ ./hello.sh
这样一个简单的脚本就出来了,不过这样的脚本没有什么实用性。
其实脚本也是一种语言,可以用他执行任务,开启系统服务监测程序的运行状态。
当你真正了解它后,它远不止上面这些功能用途。脚本是编程的延伸,我们将一步步的深入学习shell脚本。