Shell价值
1.linux服务区的基本操作和管理
(需要下载一个VMWare创建linux虚拟机,在官网上下载,随便搜索vm密钥,直接复制过去就能用了)
2.前端Node.ja服务的进程管理,问题排查,资源监控等运维操作
(Node.ja是javascript的运行环境)
3.使用shell编写TCE、SCM、Dpcker脚本,完成服务器编译和部署
课程准备
1.linux系统的物理机
2.vscode安装bash debug插件,升级bash到4.0以上
3.Npm全局安装zx依赖
Shell基础概念
概念:
终端:获取用户输入,展示运算结果的硬件设备(输入输出设备)
tty:等价于终端
终端模拟器:关联虚拟tty的输入输出软件
shell:处理来自终端模拟器的输入,解释执行后的结果给终端
shell可做解释器:
实现bash内置命令
GNU核心工具集
第三方库
也可做编程语言:
定义变量
运算
语句
函数
Bash:shell的具体实现
语法及命令:
定义类型及声明方式
自定义变量 =
变量名=变量值,如:page_size=1
将命令赋值给变量,如:_ls=ls
将命令结果赋值给变量,如:file=$(ls -a)
声明变量接收运算结果,如:let total=page_size*page_num
导出环境变量:export total
环境变量 export,declare,-x
系统环境变量 启动加载
echo命令:写内容到标准输出/echo【-neE】【ARG】
shell:
login shell:登陆式shell
non-login shell:非登陆式shell
管道:
管道与管道符|,前一个命令的结果作为后面输入的命令
语法:cmd1|cmd2
重定向
标准输入→fd0→终端输入
标准输出→fd1→终端输出
标准错误→fd2→终端输出
分支语句:
if condition;then
程序段
elif condition;then
程序段
fi
循环
while循环:while condition ;do 程序段;done
函数
funcName(){echo “abc”;}
常用命令
执行过程和原理
shell一般以.sh结尾,也可以没有
第一行#!/ bash路径开头
启动
方式一:文件名运行:./filename。sh
方式二:解释器运行:bash ./filename。sh
方式三:cource 运行:cource ./filename。sh
执行过程:
1.字符解析
2.shell展开
3.重定向
4.执行命令