一、SHELL介绍

㈠ 什么是shell脚本?

简单来说就是将需要执行的命令保存到文本中,按照顺序执行。它是解释型的,意味着不需要编译。
若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本

㈡ 什么时候用到脚本?

重复化、复杂化的工作,通过把工作的命令写成脚本,以后仅仅需要执行脚本就能完成这些工作。

㈢ shell脚本能干啥?

①自动化软件部署	LAMP/LNMP/Tomcat...
②自动化管理	系统初始化脚本、批量更改主机密码、推送公钥...
③自动化分析处理	统计网站访问量
④自动化备份	数据库备份、日志转储...
⑤自动化监控脚本

㈣ 如何学习shell脚本?

尽可能记忆更多的命令(记忆命令使用功能和场景)
掌握脚本的标准的格式(指定魔法字节、使用标准的执行方式运行脚本)
必须==熟悉掌握==脚本的基本语法(重点)

㈤ 学习shell脚本的秘诀

多看(看懂)——>模仿(多练)——>多思考(多写)

㈥ shell脚本的基本写法

  1. 脚本第一行
魔法字符==#!==指定解释器【必写】
#!/bin/bash 表示以下内容使用bash解释器解析
注意: 如果直接将解释器路径写死在脚本里,可能在某些系统就会存在找不到解释器的兼容性问题,所以可以使用:#!/bin/env 解释器 #!/bin/env bash

2)脚本第二部分,注释(#号)说明,对脚本的基本信息进行描述【可选】

#!/bin/env bash
# 以下内容是对脚本的基本信息的描述
# Name: 名字
# Desc:描述describe
# Path:存放路径
# Usage:用法
# Update:更新时间

#下面就是脚本的具体内容
commands
...

3)脚本第三部分,脚本要实现的具体代码内容

㈦ shell脚本的执行方法

1) 编写人生第一个shell脚本
[root@mpd]# cat first_shell.sh
#!/bin/env bash

# 以下内容是对脚本的基本信息的描述
# Name: first_shell.sh
# Desc: num1
# Path: /shell01/first_shell.sh
# Usage:/shell01/first_shell.sh
# Update:2019-05-05

echo "hello world"
echo "hello world"
echo "hello world"

2) 脚本增加可执行权限
[root@mpd]# chmod +x first_shell.sh

3) 标准方式执行脚本
[root@mpd]# pwd
/shell01
[root@mpd]# /shell01/first_shell.sh
或者
[root@mpd]# ./first_shell.sh

注意:标准执行方式脚本必须要有可执行权限。

1. 直接俄在命令行指定解释器执行
[root@mpd]# bash first_shell.sh
[root@mpd]# sh first_shell.sh
[root@mpd]# bash -x first_shell.sh
+ echo 'hello world'
hello world
+ echo 'hello world'
hello world
+ echo 'hello world'
hello world
----------------
-x:一般用于排错,查看脚本的执行过程
-n:用来查看脚本的语法是否有问题
------------

2. 使用source命令读取脚本文件,执行文件里的代码
[root@mpd]# source first_shell.sh
hello world
hello world
hello world

二、变量的定义

  1. 变量是什么?

一句话概括:变量是用来临时保存数据的,该数据是可以变化的数据。

  1. 什么时候需要定义变量?

如果某个内容需要多次使用,并且在代码中重复出现,那么可以用变量代表该内容。这样在修改内容的时候,仅仅需要修改变量的值。
在代码运作的过程中,可能会把某些命令的执行结果保存起来,后续代码需要使用这些结果,就可以直接使用这个变量。

  1. 变量如何定义?

*变量名=====变量值*
变量名:用来临时保存数据的
变量值:就是临时的可变化的数据

[root@mpd~]# A=hello			定义变量A
[root@mpd~]# echo $A			调用变量A,要给钱的,不是人民币是美元"$"
hello
[root@mpd~]# echo ${A}		还可以这样调用,不管你的姿势多优雅,总之要给钱
hello
[root@mpd~]# A=world			因为是变量所以可以变,移情别恋是常事
[root@mpd~]# echo $A			不管你是谁,只要调用就要给钱
world
[root@mpd~]# unset A			不跟你玩了,取消变量
[root@mpd~]# echo $A			从此,我单身了,你可以给我介绍任何人

  1. 变量的定义规则

虽然可以给变量(变量名)赋予任何值;但是,对于变量名也是要求的!

版权声明:本文为xiaolang666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaolang666/p/13362646.html