Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
换一种说法也就是,shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。
更明白地来说,shell script就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组,循环,条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序,而不必使用类似C程序语言等传统程序编写的语法。
Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。一个shell脚本文件是以#!/bin/bash开头的,注释也是以#开头。
下面介绍几种在终端执行shell脚本的方法:(需要加上可执行权限chmod +x filename )
1.切换到shell脚本所在的目录,执行:
[[email protected] ~]# ./hello.sh
2.以绝对路径的方式执行:
[[email protected] ~]# /root/Desktop/hello.sh
3.直接用bash或sh执行:
[[email protected] ~]# bash hello.sh
4.现行的shell中执行
[[email protected] ~]# . hello.sh
或者是
[[email protected] ~]# source hello.sh
在编写shell脚本的时候要注意,程序必须以#!/bin/sh开始(必须方在文件的第一行),符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序 (也可以用#!/bin/bash)。