shell脚本变量

环境变量和本地变量,环境变量是具有全局属性的。
在交互式shell下面定义变量:VALUE=100
这定义的即为本地变量,如果要将其变成环境变量则需要export VALUE 导出环境变量,取消环境变量则可以使用unset命令。
环境变量是可以被子进程继承的更是可以被子子孙孙都继承的。环境变量在程序替换掉的时候默认是不会被替换掉的。

变量的拼接
shell脚本变量_第1张图片

shell环境变量
例如PWD HOME HOSTNAME BASH GROUPS
系统自带的,用于工作环境

shell的位置变量

#:  传递到脚本的参数个数。*: 以一个单字符串显示所有向脚本传递的参数 与位置变量不同 此选项参数可超过9个
$$: 脚本运行的当前进程的ID号
$!: 后台运行的最后一个进程的进程ID号
$@:与$#相同,但是使用时加引号,并在引号中返回每个参数
$- :显示shell使用的当前选项,与set命令功能相同
$? :显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误

这里写图片描述

位置变量:
expr 数值运算的命令
#!/bin/bash
SUM=$(expr $1 + $2)
echo "$1 + $2 = $SUM"

这里写图片描述

shell脚本变量_第2张图片

局部变量和全局变量
环境发生变化
shell的运行原理:读取一行创建子进程进行exec程序替换
在子SHELL里面设置环境变量在父SHELL是不生效的

你可能感兴趣的:(脚本)