跳到主要内容

第1章 Shell基础入门

第1章 shell基本概述

1.什么是shell

shell是一个命令解释器,主要用来接收用户的指令,进入驱动操作系统,或硬件。
Linux里有很多种shell,例如:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)

2.什么是shell脚本

shell脚本就是把命令全部放在一起执行
shell脚本里可以包含若干个变量,循环,if判断,for循环,函数等
变量+函数+流程控制+条件判断+shell命令 = shell脚本

3.shell可以实现什么功能

1.Linux系统支持的命令,都可以用shell实现
2.系统优化脚本,例如:优化SSH 修改端口号 配置yum源 关闭SElinux,时间同步,安装常用软件等操作
3.定时任务,例如每天定时备份数据库的数据
4.日志切割脚本,定时切割日志
5.服务启动脚本,二进制安装的服务没有systemd,可以写脚本启动
6.代码上线脚本,将开发好的代码使用脚本部署到web服务器
7.zabbix自定义监控脚本,使用脚本获取自定义的监控项的数值
8.跳板机脚本,可以使用shell开发一个跳板机

4.学习shell的必备技能

1.熟练的VIM技能
2.熟练的Linux基础命令使用
3.熟练的正则表达式和三剑客命令使用

5.学习shell的正确姿势

1.知道自己要干什么,想要什么效果
2.拿到需求先不要立刻写脚本,先用命令行实现,然后转换成脚本
3.先能看懂,然后模仿,然后会修改,最后能按照自己的需求编写各种shell脚本
4.思考,练习,总结 --> 思考,练习,总结

第2章 shell入门

1.shell脚本最佳实践

1.shell脚本名称必须要有含义,切忌随便起名,在公司里容易被打。文件后缀名最好以.sh结尾。
2.shell脚本首行建议添加使用的解释器,如:#!/bin/bash
3.最好给自己的脚本加个注释,注释内容包含了脚本创建时间,作者,以及脚本作用等。
4.注释尽量不要有中文
5.脚本放在专门的目录里

举例:

#!/bin/bash     													#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

# Author: Oldzhang. 526195417@qq.com #作者名称


# Create Time 2024/06/02 #创建日期


# Script Description: this is my 1st shell script. #脚本描述

2.第一个shell脚本

cat > hello.sh <<
#!/bin/bash
echo "Hello World"
EOF

3.shell执行方式

3.1 执行脚本命令

./test.sh
bash test.sh
source test.sh

3.2 首行不指定解释器

如果不在脚本首行指定 #!/bin/bash解释器,那么./执行的时候系统会默认调用bash来执行脚本。
如果我的脚本是python语言写的,那么执行的使用就会报错,因为默认会使用bash来执行而不是python来执行。

3.3 首行指定解释器

如果首行添加了解释器./执行的时候默认会读取脚本第一行,来确定使用什么解释器运行脚本。

3.4 直接指定解释器运行

我们也可以直接指定使用什么解释器来运行,那样即使脚本首行没有添加解释器也可以运行,例如
bash test.sh
python test.sh

3.5 python的hello

#!/usr/bin/python3
hello = 'hellooooo'
print(hello)

更新: 2024-06-02 12:03:54