注:本文只针对作者知识点总结
shell编程
shell脚本的执行方式与创建
格式要求
1、要以#!bin/bash 为开头
2、脚本需要有可执行权限chmod u+x [shell脚本]
如果不加权限,使用bash [shell脚本也可]
运算符

结果都为20
read选项
选项:-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。
参数变量,指取值时的变量
1. 读取控制台输入一个NUM1 值read -p "请输入一个数NUM1=" NUM1 echo "你输入的NUM1=$NUM1" [如果一直不输值,程序就会一直卡在那里]
2:读取控制台输入一个NUM2 值,在10 秒内输入。read -t 10 -p "请输入一个数NUM2=" NUM2 echo "你输入的NUM2=$NUM2"
shell的位置参数变量
$0表示文件本身输出结果为脚本身的名称,$1-$9 代表第一到第九个参数,十以上的参数要用大括号包含,如${10}

图中的$1,表示传入的第一个参数,就比如 文件为bash test.sh 100 200,其中$1=100

如果我们把参数改为$2

结果就为1+2+...+50了

$*这个变量代表命令行中所有的参数,【把所有的参数看成一个整体】
$@这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待

输入命令
![]()
输出结果

$#功能描述:这个变量代表命令行中所有参数的个数
条件判断
case

运行结果

函数的定义和局部变量的使用
命令行输入:vim test.sh
点击 i,进入编辑模式

按下Ese键退出编辑模式
输入:wq保存文件
输出结果

函数解释
local是局部变量只能在函数内部使用,不会覆盖掉局部变量的值,function [函数名]{【函数功能】},来创建一个函数
常见报错
./test.sh: 行 3: var: 未找到命令
./test.sh: 第 7 行: local: "=": 不是有效的标识符
./test.sh: 第 7 行: local: "HI,var is changed": 不是有效的标识符

这是由于在变量var赋值时等号两边添加了空格,这是错误的,将等号两边的空格删去即可
函数调用
值得注意的是,函数只有在调用时才会执行,调用时不用带上(),
调用Shell 函数时可以给它传递参数,也可以不传递。如果不传递参数,直接给出函数名字即可。
状态返回码
一种是命令正确执行的状态码,该状态码为:0
一种是命令错误执行的状态码,为1-255
在脚本中也可以指定退出状态码的值,通过命令exit实现。状态码取值范围为0-255,如果在指定的状态码大于255,那么shell会通过模(模就是256)运算得到相应的退出状态码。


3779

被折叠的 条评论
为什么被折叠?



