一、shell脚本简介

首先我们来看下这张图,可以帮助我们理解这个词语!

centos shell 脚本 启动程序 shell脚本启动应用程序_shell脚本


看图可知:shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序,命令和程序可以理解成我们图中的应用程序,我们linux系统中的那些命令其实也都是一个个的小程序,只不过完成的是系统的应用功能。我们在系统的终端中输入一条命令,可以立马看到一条或者几条系统回复我们的信息,其实就是shell在帮我们回复,所以shell可以称之为命令解释器。这种从键盘一输入命令,就可以立马得到相应的回复信息,叫作交互的方式,相当于我们在和电脑交流。Shell存在于系统的最外层,所以算作操作系统的外壳,它之外的应用程序就不能算作操作系统了。我们从输入系统的账户密码开始,到登录系统以后的所有操作都是shell在帮我们解释执行的。

了解了shell之后,我们再来了解下shell脚本。如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就被称之为shell脚本。Shell脚本里面通常内置了多条命令,有的还包含控制语句,比如if和else的条件控制语句,for和select的循环控制语句等。这些内置在一个shell脚本中的命令通常是一次性执行完成,不会不停的返回信息给用户,这种通过文件执行脚本的方式称之为非交互方式。Shell脚本类似于windows下的批处理,但是它比批处理要强大一些,现在windows下有一个叫做power shell的功能可以和linux下的shell功能媲美。

我们可以在文本中输入一系列的命令、控制语句和变量,这一切有机的结合起来就形成了功能强大的shell脚本。

二、新建Shell脚本

新建

# 直接新建脚本文件并进入编辑
vim ShellTest.sh 

# 或者
 
vi ShellTest.sh 

进入后:
i:开始编辑
Esc  Shift + :(冒号)  wq 保存退出

编辑Shell内容

#!/bin/bash                  
echo "Hello World !"

第一行是固定开头
第二行打印 hello world

执行

bash ShellTest.sh

注:作为可执行程序当在root用户下新建文件时,文件的默认权限为 -rw-r–r–,即文件在root用户下可读写,其他用户只能读不能写,但是所有用户都无法执行。因此执行命令

chmod +x ShellTest.sh

将脚本文件变为可执行文件,执行后的权限为 -rwxr-xr-x ,即所有用户都可执行。然后执行

./ShellTest.sh

作为解释器参数
这种运行方式直接运行解释器,把 shell 脚本的文件名作为解释器的参数,如:

/bin/sh ShellTest.sh

这种方式运行的脚本,不需要在第一行指定解释器信息,也不需要将脚本文件的权限转为可执行,只要作为参数的脚本文件的路径没错就行。

新建演示流程:

首先进入linux终端

输入vim test,sh

centos shell 脚本 启动程序 shell脚本启动应用程序_shell脚本_02


进入如下编辑界面:

centos shell 脚本 启动程序 shell脚本启动应用程序_shell脚本_03


英文模式下点击字母 i 进入编辑模式

输入内容

#!/bin/bash                  
echo "Hello World !"

centos shell 脚本 启动程序 shell脚本启动应用程序_bash_04


输完代码后,先点Esc 然后同时按住 Shift + : (冒号)

输入wq 然后按Enter. 保存并退回到终端界面

centos shell 脚本 启动程序 shell脚本启动应用程序_Shell_05

输入bash test.sh运行脚本

执行代码,在终端打印出:Hello World !

centos shell 脚本 启动程序 shell脚本启动应用程序_bash_06