Shell脚本和编程 | 青训营
学习 shell 的价值:
1.Linux 服务器的基本操作和管理(都需要通过shell完成)
3.使用 shell 编写 TCE、SCM、Docker 脚本,完成服务编译和部署
终端
获取用户输入、展示运算结果的硬件设备
......
shell的发展历史 Ken Thompson(来自贝尔实验室)在1971年为UNIX 开发了第一个shell,称为V6 shell -> Stephen Bourne 在贝尔实验室为V7 UNIX 所开发的 Bourne shell, 即sh -> 开源组织 GNU 为了取代 Bourne shell 开发的 Bourne-Again shell, 即 Bash
shell的语法
类型: 自定义变量 环境变量 系统环境变量
变量的赋值等号两侧不可以有空格
# 变量名=变量值(等号左右不能有空格)
page_size=1
page_num=2
1. 将命令复制给变量
1s=1s
1. 将命令结果赋值给变量
file list=$(ls -a)
1. 默认字符串,不会进行 +运算
total=page_size*page_num
1. 声明变量为整型
let total=page size*page_num
declare -i total=page_size*page_num
1. 导出环境变量
export total
declare -x total
declare [+/-] 选项 变量
类型: 算数运算符、 逻辑运算符、 比较运算符、 引号、 圆括号、 命令连接、 后台运行。
作用: 常规运算; 部分引用, 仅仅 $\ 保留作用; 完全引用,原样输出; 执行命令; 算数运算; 执行命令; cmd1 执行完且返回码非O,则继续执 行cmd2; cmd1 执行完且返回码为0,则继续执 行cmd2; cmd1、cmd2串行执行; 让命令在后台运行,可与nohup一起使 用;
重定向:......
函数:shell自上而下执行,函数必须在使用前定义 函数获取变量和shell script类似,0代表函数名,后续参数通过0代表函数名, 后续参数通过 0代表函数名,后续参数通过1、2...获取函数内return仅仅表示函数执行状态,不代表函数执行结果返回结果一般使用echo、printf,在外面使用2 ...获取 函数内return 仅仅表示函数执行状态,不代表函数执行结果 返回结果一般使用echo、printf,在外面使用2...获取函数内return仅仅表示函数执行状态,不代表函数执行结果返回结果一般使用echo、printf,在外面使用()、获取结果 如果没有return,函数状态是上一条命令的执行状态,存储在$?中