鸟哥的Linux私房菜学习之第十二章笔记
作者:互联网
shell 脚本是利用 shell 的功能所写的一个【程序(program)】,这个程序是使用纯文本文件,并一些shell 的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所想要的处理目的
shell 脚本用在系统管理上面是很好的一项工具,但 是用在处理大量数值运算上,就不够好了,因为shell 脚本的速度较慢,且使用的 CPU 资源较多 会造成主机资源的分配不良。
在 shell 脚本的文件中,命令是从上而下、从左而右地分析与执行。
shell 脚本的执行,至少需要有r的权限;若需要直接执行命令,则需要拥有r与x的权限。
绝对路径:使用/home/ljc/shell.sh来执行命令;
相对路径:假设工作目录在/home/ljc/,则使用./shell.sh来执行
以bash程序来执行:通过【bash shell.sh】或【sh shell.sh】来执行
编写脚本
良好的程序编写习惯中,第一行要声明 shell(#/bin/bash),第二行起声明程序的用途、版本作者等信息。在脚本的文件头处记录好:
脚本的功能;
脚本的版本信息
脚本的作者与联络方式脚本的版权声明方式
脚本的 History(历史记录);脚本内较特殊的命令
使用【绝对路径】的方式来执行
脚本运行时需要的环境变量预先声明与设置。
交互式脚本可用read 命令完成。
要每次执行脚本都有不同结果的数据,可使用date命令利用日期完成。
脚本若以 source 来执行,代表在父程序的 bash 内执行之意。
若需要进行判断式,可使用 test 或中括号([])来处理。
在脚本内,$0、$1、$2..$@ 是有特殊意义的。
条件判断式可使用 i.then 来判断,若是固定变量内容的情况下,可使用 case $var in...esac来处理。
循环主要分为不定循环(while 与 unt)以及固定循环(for),配合 do、done 来完成所需任务。
我们可使用 sh -x script.sh 来进行程序的 debug。
-n:不要执行脚本,仅查询语法问题
-v:再执行脚本前,先将脚本文件的内容输出到屏幕上
-x:将使用到的脚本内容显示到屏幕上,这是有用的参数
标签:脚本,shell,使用,sh,bash,Linux,鸟哥,执行,私房 来源: https://blog.51cto.com/cnljc/2897837