知乎视频www.zhihu.com
知识概述
Xshell 5 安装教程:https://blog.csdn.net/MYCSDN6666/article/details/80017056
这里转载其他人的。
基础知识部分:
- 变量知识概念
- 脚本执行方法
- 系统正则知识
进阶知识部分
- 脚本算法知识
- 脚本信息比较
- 判断语句if case
- 循环语句for while until
高级知识部分
- 脚本函数概念
- 脚本数组概念
Shell脚本基础介绍
学习Shell目的
- 提高工作效率
- 减少重复工作
- 完成批量操作
- 节省人力成本
学习Shell方法
- 掌握系统的基础命令
- 掌握系统正则符号
- 掌握脚本语句用法
混合在一起用的时候,是否复合逻辑
变量知识概念
1.常规变量:
临时变量:在脚本中或命令行中设置, oldboy = 123
永久变量:在特殊的系统变量文件中设置, 比如以下文件里:
etc/profile
etc/bashrc
~/.bashrc
~/.bash_profile
设置变量:
1)进行字符串设置:
name="oldboy"
name="123456"
name="oldboy edu python"
2)进行变量调用
info="python"
name="$info" # 调用name=info变量
3)进行命令信息设置:比如在不同的主机上创建一个文件夹,文件夹的名字以ip命名,名字是IP_info
IP_info="$(hostname -i)"
IP_info=`hostname -i`
2.环境变量:
有export定义变量:对当前登陆窗口所有shell都生效
无export定义变量,只对当前的shell生效
export INFO="XXXX"
变量赋值方式
①变量赋值:
a=1
b=2
echo $a $b
service 启动或重启或停止服务
②传参赋值:a=$1 b=$2
a=$1
b=$2
./test.sh # 执行文件
./test.sh oldboy oldgirl # 这就是把oldboy赋值成a, 把oldgirl赋值成b
③交互赋值:需要交互询问信息进行赋值
read -p "请输入学员姓名:" name age
echo $name >> class.txt # >> 表示追加到文件中
echo $age >> class.txt
3.特殊变量
$0: 用于获取脚本名称信息,直接显示脚本名称和路径信息
echo "$0脚本执行失败,请检查脚本逻辑"
$#:统计出脚本的传入参数总数
$*:输出脚本所有参数信息
$@:输出脚本所有参数信息
$?:输出命令执行返回值 利用返回值可以判断命令是否执行成功
0 表示操作执行成功
非0 表示操作执行失败
$$ 获取一个脚本执行PID信息
$! 获取上一个程序或脚本后台运行pid信息
sh test.sh & --- 让脚本后台运行
$_ 获取脚本的最后一个参数信息
sh test.sh a b c
echo $_
c
脚本执行方法
① 直接授权脚本执行权限,直接运行脚本
./test.sh
/root/test.sh
②利用命令信息执行脚本
利用命令解释器执行脚本
sh ./test.sh bash ./test.sh
脚本之间信息加载调用
source ./test.sh
系统正则知识
可以用到正则的命令,可以直接加载基本正则