shell基础-01

shell-day01

shell脚本开发规范

1 脚本命名要有意义,文件后缀为.sh
2 脚本文件首行是必须是脚本解释器 #!/bin/bash
3 脚本解释器后面要有脚本的基本信息 脚本中尽量不要用中文注释 尽量用英文注释
4 脚本文件常见的执行方式:bash 脚本名
5 脚本内容执行:从上到下 依次执行
6 代码书写习惯: 1 成对内容的一次性写出来 2 [] 中括号两端要有空格 [ ] 3 流程控制语句一次性写完,再添加内容
7 通过缩进让代码易读(即该有空格的地方要有空格)

shell变量

变量的定义和分类: 本地变量 全局变量 shell内置变量
变量名 不变的
变量值 变化的
我们一般说的变量指的是变量名
本地变量就是:在当前系统的某个环境下才能生效的变量,作用范围小
本地变量分为:普通变量和命令变量
普通变量 : $变量名=值

shell本地变量之命令

定义方式一:变量名=命令 注意:``是反引号
定义方式二: 变量名= ( 命 令 ) 执 行 流 程 : 1 先 执 行 ‘ 或 (命令) 执行流程: 1 先执行`或 ():1()范围内的命令 2 在将命令执行的结果,赋值给新的变量名A

shell全局变量的查看和定义

全局变量就是:在当前系统的所有环境下都能生效的变量
env查看操作系统中所有的全局变量
export 变量名=值 定义一个全局变量

shell变量四种查看方法

方式一: 变 量 名 方 式 二 : " 变量名 方式二:" :"变量名"
方式三: 变 量 名 方 式 四 : " {变量名} 方式四:" :"{变量名}"==>工作中的写法

取消/删除变量

unset变量名 unset可以删除本地和全局变量

shell内置变量

bash itcast.sh bash是一个命令解释器,这个命令解释器内部定义好了很多内置变量,而这些变量可以直接拿过来使用,这些就是shell的内置变量.
本地变量和全局变量都是需要通过定义,才能实现相应功能的,shell内置变量是可以直接拿过来使用实现某种具体功能的

和脚本文件相关的符号

$0 表示获取当前执行的shell脚本文件名,包括脚本路径
n 表 示 获 取 当 前 执 行 的 s h e l l 脚 本 的 第 n 个 参 数 值 , n = 1...9 , 当 n 为 0 时 表 示 脚 本 的 文 件 名 , 如 果 n 大 于 9 就 要 用 大 括 号 括 起 来 n表示获取当前执行的shell脚本的第n个参数值,n=1...9,当n为0时表示脚本的文件名,如果n大于9就要用大括号括起来 nshelln,n=1...9,n0,n9{10}
$# 获取当前shell命令行中参数的总个数
$? 获取执行上一个指令的返回值(0为成功,非0为失败) 确认上条指令是否执行成功
$n 获取当前脚本传入的第n个位置的参数(n为1 或2 或3 指定位置)

字符串精确截取

格式:${变量名:起始位置:截取长度}
实例: ${file:0:5} 从第一个字符开始,截取5个字符
${file::5} 从第一个字符开始,截取5个字符
${file:5:5} 从第6个字符开始,截取5个字符
${file:5}从第6个字符开始,截取后面索引的字符
${file:0-5}从倒数第五个字符开始,截取后面所有字符
${file:0-6:3}从倒数第6个字符开始,截取之后的3个字符

shell内置变量之两种默认值

默认值的场景一: 变量a如果有内容,那么久输出a的变量值,变量a如果没有内容,那么就输出默认的内容
格式: ${变量名(a):-默认值(n)} 表示如果输入的参数为空 就输出默认的值,如果输入的参数为n,那么就输出出n的值
默认值的场景二:无论变量a是否有内容,都输出默认值
格式: ${变量名+默认值} : 即不管脚本是否有参数输入都输出默认值

shell $的含义

$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1…9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
@ 跟 @ 跟 @*类似,但是可以当作数组用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值