后端 | Shell知识速学
一、Shell脚本
1、编写一个简单的shell脚本
2、运行shell脚本
二、基础语法
1、变量
定义变量:
只能使用英文字母、数字和下划线,首字母不能以数字开头。
不能使用bash里面的关键字,可以使用help命令查看保留关键字。
使用变量:
只读变量:
删除变量:
变量类型:
局部变量:在脚本或者命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。
shell变量:由shell程序设置的特殊变量。shell变量中有一部分是环境变量,由一部分是局部变量。
2、字符串
定义:
拼接字符串:
获取字符串长度:
提取子字符串:
查找字符串:
3、数组
定义:
读取数组:
获取数组长度:
关联数组:
4、注释
shell注释以#开头。
如果遇到一大段代码需要注释,可以把这段代码用一对花括号括起来,定义成一个函数,没有地方调用整个函数,这段代码就不会执行,达到了注释的效果。
5、传递参数
执行shell脚本的时候,可以向脚本传递参数,脚本内获取参数的方式为:$n,$0为执行的文件名(包含文件路径),$1为执行脚本的第一个参数...
6、运算符
算数运算符:
关系运算符:
布尔运算符:
逻辑运算符:
字符串运算符:
文件测试运算符:
7、流程控制
shell的流程控制不可为空,如果没有语句,就不要写。
if else:
for循环:
while语句:
无限循环:
until循环:
case...esac:
跳出循环break与continue:
8、函数
定义:
函数参数:函数体内,使用$n的形式来获取参数,比如$1表示第一个参数...
9、输入/输出重定向
输出重定向:
输入重定向:
/dev/null文件:
10、文件包含
shell也可以包含外部脚本。
三、命令
1、echo命令
echo命令用于字符串的输出。
2、printf命令
默认的printf不会像echo一样自动添加换行符,可以手动添加换行\n。
3、test命令
用于检查某个条件是否成立,可以进行数值、字符和文件三个方面的测试。
数值测试:
字符串测试:
文件测试: