初识shell脚本
Posted 世界美好與你環環相扣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识shell脚本相关的知识,希望对你有一定的参考价值。
初识shell脚本
一.Shell脚本概述
1.1Shell脚本的概念
将要执行的命令按顺序保存到一个文本文件给该文件可执行权限
可结合各种Shell控制语句以完成更复杂的操作Shell脚本
1.2应用场景
重复性操作
交互性任务
批量事务处理服务运行状态
监控定时任务执行
1.3Shell的作用—命令解释器,“翻译官”
●介于系统内核与用户之间,负责解释命令行
1.4 shell脚本的构成
shell 脚本:一系列命令的集合
●脚本声明:声明解释器
●注释信息:脚本的作用,年月日和编辑人等信息
●可执行语句
●查看系统可支持的shell环境用如下命令
cat /etc/shells 看系统可支持的shell环境
注释信息的表达
1.直接加#
2多行注释如下图,以什么开头就以什么结束
二.shell 脚本的执行
当写好脚本时,我们怎么去执行它呢,下面来介绍它
2.1给脚本文件增加权限
chmod +x test.sh
脚本文件增加可执行权限后变成可执行的文件,直接写出该脚本文件的路径即可执行
2.2调用解释器
当不改脚本权限时可调用解释器
当用bash执行时,脚本出现错误时,执行脚本结果
用sh执行时,脚本出现错误时,不执行脚本结果
2.3用source和“.”执行
值得注意的是以当前路径和绝对路径,调用解释器执行的脚本,是重新开启的shell环境,source 和"."是当前的shell
2.4检测脚本
bash -x + 脚本名称 脚本的每一行都检测
bash -n + 脚本名称 检测脚本的语法错误
本地yum源的脚本
一键启动apache服务的脚本
三.变量
3.1变量的分类
变量的分类:自定义变量,环境变量,位置变量,预定义变量
3.2自变量
格式:变量名=变量值
变量名:字母、数字、下划线组成,不可出现特殊符号:!,@,#,%,^,&,*等,不能以数字开头并且区分大小写
自变量只在当前的shell里有效,进入下一个shell或则退出登录则变成空
3.3调用一个变量
“$”+变量
3.4取消变量
unset +变量
3.5查看系统变量set命令
3.6定义整数类型的变量
declare -i
3.7变量的分解符 “{}”
3.8变量的转译符""
3.9变量中单引号和双引号,以及反撇号
反撒号
反撇号主要用于命令替换,允许将执行某个命令的屏幕输出结果赋值给变量。反撒号括起来的范围内必须是能够执行的命令行,否则将会出错
双引号
双引号主要起界定字符串的作用,特别是当要赋值的内容中包含空格时,必须以双引号括起来;其他情况下双引号通常可以省路
单引号
当要赋值的内容中包含$、“、\\等具有特殊含义的字符时,应使用单引号括起来。
在单引号的范围内,将无法引用其他变量的值,任何字符均作为普通字符看待。输入什么就显示什么但赋值内容中包含单引号(’)时,需使用’符号进行转义,以免冲突。
3.10 $()的用法
3.11 变量设为只读
readonly +变量
3.12 read命令
除了上述赋值操作以外,还可以使用Bash的内置命令read来给变量赋值。用来提示用户输入信息,从而实现简单的交互过程。执行时将从标准输入设备(键盘)读入一行内容,并以空格为分隔符,将读入的各字段依次赋值给指定的变量(多余的内容赋值给最后一个变量)。若指定的变量只有一个,则将整行内容赋值给此变量。
3.13一键式创建用户和密码的脚本
四.环境变量
变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。
值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范
我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量
env 查看环境变量
4.1将自变量加入全局变量
临时激活,export,重启退出系统就没有了
4.2查询当前登录shell的层级
echo $SHLVL
4.4把脚本文件加入全局变量
PATH是命令的系统变量、把脚本文件加入PATH,即可把脚本文件当时指令来用
(1)做软链接
(2)在/etc/profile 文件中增加脚本文件的目录
(3)临时性设置脚本文件
export PATH=$PATH:/root
以上是关于初识shell脚本的主要内容,如果未能解决你的问题,请参考以下文章