shell编程
bash的变量类型:
环境变量 :export
本地变量:shell脚本在运行时启动一个子bash来解释的。
局部变量
位置变量
特殊变量:bash内置的用来保存某些特殊数据的变量。(也叫系统变量)
本地变量:只属于某一个shellscript的变量。
var_name=值
作用域:整个bash进程
局部变量:
local var_name =值,
作用域:当前代码段。
环境变量:
export 名字=值
作用域:当前的shell和其子shell。
注意:脚本在执行时都会启动一个子shell进程:
命令行中启动的脚本会继承当前shell环境变量。
系统自动启动脚本(非命令行启动):则需要自我定义环境变量。
位置变量: 用于 脚本执行的参数,$1 表示第一个参数,以此类推
$0,$1,$2….
$0:表示脚本本身的文件名
特殊变量:
$? :上一个命令的执行状态返回值。
$# 传递到脚本的参数个数
$* 传递到脚本的参数,与位置变量不同,此选项参数可超过9个
脚 本 运 行 时 当 前 进 程 的 I D 号 , 常 用 作 临 时 变 量 的 后 缀 , 如 h a i s o n . 脚本运行时当前进程的ID号,常用作临时变量的后缀,如 haison. 脚本运行时当前进程的ID号,常用作临时变量的后缀,如haison.
$! 后台运行的(&)最后一个进程的ID号
@ 与 @ 与 @与#相同,使用时加引号,并在引号中返回参数个数
$- 上一个命令的最后一个参数
$? 最后命令的退出状态,0表示没有错误,其他任何值表明有错误
程序有两类返回值:
1、 执行结果 :标准,错误 :标准输出,错误输出
2、 执行状态,$? : 0:表示正确,1-255:错误
输出重定向:
>覆盖重定向
>> 追加重定向
2> 错误覆盖重定向
2>>错误追加重定向
&> 全部重定向
&>> 全部信息追加重定向
撤销变量:
unset 变量名
查看shell中变量:
set 命令
查看shell中的环境变量
printenv
env
export
引用变量:${变量名},一般可以省略{}
![img](file:///C:\Users\hulebaji\AppData\Local\Temp\ksohtml19396\wps1.jpg)
单引号:强引用,不作变量替换
双引号:弱引用,做变量替换
反引号:``命令替换