开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天点击查看活动详情
shell是一种非常重要的脚本语言,在很多技术中都可以用到,接下来对常用易混淆知识做一下总结
test.sh
- !/bin/bash :使用此解析器解析shell脚本
- shell脚本:命令集合,需要在linux终端进行
- vi test.sh :创建脚本
- 脚本执行 :编写完成之后添加执行权限
- chmod u+x xxx.sh
- ./xxx.sh :执行脚本
变量--必须赋值
- 普通(本地)变量:temp=888,=前后不能有空格,只能在当前进程使用
- 环境(全局)变量:在当前操作系统内部可以全局访问。系统自带:env命令显示的(PWD SHELL PATH HOME) 用户自定义的 将普通变量升为系统级别的环境变量 :普通变量前+set/export
- 位置变量:执行脚本的时候,可以给脚本传递参数,脚本内部接收参数需使用位置变量 ./test.sh aa bb(参数) $1第一个位置参数
- 特殊变量:
- $# :获取给脚本传递参数的个数
- $@:传递的所有参数
- $?脚本执行之后的状态(脚本执行成功=0还是失败>0)
- $$脚本执行后对应的id
echo:
普通变量(赋值默认字符串处理)取值:echo {变量名} $(shell命令),将命令执行结果给变量名
条件判断和循环
if空格[空格条件判断空格];then
逻辑处理(shell命令)
elif空格[空格条件判断空格];then
命令
else
命令
fi
if空格[空格条件判断空格]
then
逻辑处理(shell命令)
fi
for循环
#for/while
for 变量 in $集合名;do
命令
done
#打印时引号的作用
函数
- 没有函数修饰,没有参数,没有返回值,但是可以传参
- 函数名(){
-
#函数体->shell命令+逻辑 - }
- 函数调用:
- 函数名 参数1 参数2 参数3
- 不能返回值,只能查看调用状态