linux--ubuntu学习笔记shell篇

注:本文只针对作者知识点总结


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)运算得到相应的退出状态码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值