一 环境变量(全局变量)
--bash内置的环境变量
--自定义的全局环境变量
1)变量查看方法
-- set(输出全部全局和局部变量)
-- env(只输出全局变量)
-- declare(所有的变量、函数、整数、和已经导出的变量)
2)临时自定义环境变量
-- export name=value
-- name=value ; export name
-- declare -x name=value
3)永久定义方法
-- 用户推荐放置在 ~/.bashrc
-- 全局推荐在/etc/bashrc
4) 显示与取消环境变量
-- echo 或者printf (echo HOME\n")
-- unset
-- 环境变量小结1
- 变量名通常要大写
- 变量可以在自身的shell和子shell中使用
-常用 export 来定义环境变量
- 执行env默认可以显示所有的环境变量和对应的值
- 输出时用"$name" ,取消用"unset name"
- 写cronb是注意,最好先定义变量
二 引号的区别
- 环境变量初始化和对应文件的生效顺序
- 引号的区别(略)
- 三剑客引号的区别(略)
-- awk常用 先用echo加引号然后通过管道给awk
三 变量的进阶和实践
- 特殊位置参数变量
$0 获取当前脚本路径(dirname bashname)
$n 获取脚本的第n个参数值 n>9时用{n}
$# 获取向实行shell脚本后面接的参数的个数
$*加引号相当于一个参数
$@加引号分开的变量
shift 将参数位置左移
- 特殊状态变量(man bash 搜索 Special Parameters)
$? 获取上一个指令执行状态 成功返回0(重要)
$$ 获取当前shell脚本pid
$! 获取上一个后台工作pid
$_获取此前最后一个参数
-
?
-- 如果是在函授里 则通过 ‘return 数字’ 则把这个数字一函数返回值传给$? - bash shell 内置变量命令(略)
-- echo