shell
价值
1.Linux服务器的基本操作和管理
2.前端Node.js服务的进程管理,问题排查,资源监控等运维操作
3.使用shell编写Tce,Scm,Docker脚本,完成服务编译和部署
基础概念
处理终端模拟器输入,解释执行后输出结果给终端
Bash是shell一种具体实现
构成
解释器
bash内置命令
GNU核心工具集
第三方库
编程语言
变量
自定义变量
环境变量
系统环境变量
运算
逻辑运算符
算术运算符
语句
判断
分支
循环
函数
语法和变量
变量
类型 | 作用域 | 声明方式 |规范
自定义变量 | 当前shell | = |字符串,整型,浮点型,日期型 型
环境变量 | 当前shell及其子shell |export,declare -x| |
系统环境变量 | 所有shell |启动加载
自定义变量
变量名=变量值(等号左右不能有空格)
默认字符串,不会进行+运算,需声明
系统环境变量
配置文件加载
运算符和引用
管道
管道与管道符|,作用是将一个命令的结果传递给后面的命令
语法:cmd1|camd2
要求:管道右侧的命令必须接受标准输入才行,比如grep命令,ls,mv等不能直接使用,可以使用xargs处理
注意:管道命令仅仅处理stdout,对stderr会予以忽略,可以使用set-o pipefall设置shell遇到管道错误退出
重定向
输出定向符:
>:覆盖写入文件
>>:追加写入文件
2>:错误输出写入文件
&>:正确和错误输出统一写入到文件中
输入重定向符
<
<<
判断命令
判断符号:
test,[,[[
用途:
整数测试
字符串测试
文件测试
语法:
test condition
[condition]
[[condition]]
*中括号前后要有空格符
*[和test是命令,只能使用自己支持的标志位,<,>,=只能用来比较字符串
*中括号内变量,最好都用引号括起来
*[[更丰富,在整型中比较支持<,>,=,在字符串中比较支持=~正则