shell变量的核心知识

一 环境变量(全局变量)

--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
$_获取此前最后一个参数
  • ? -- 判断命令、脚本或函数等程序是否执行成功 -- 若在脚本中调用执行 ‘exit数字’ 则会返回这个数字给?
    -- 如果是在函授里 则通过 ‘return 数字’ 则把这个数字一函数返回值传给$?
  • bash shell 内置变量命令(略)
    -- echo

shell 变量子串知识及实践(略)

你可能感兴趣的:(shell变量的核心知识)