局部变量:当前代码段内生效

案例演示:函数内,用local修饰的变量就是局部变量。

function func(){local a=99}

本地变量:当前bash进程中有效

案例演示:

[root@docker01 ~]# A=111
[root@docker01 ~]# echo $A
111

环境变量:当前用户的bash进程及其子进程中生效,切换用户后失效。

1、临时环境变量。

相关语法:

查看:
env     查看当前用户的环境变量
set     查询当前用户的所有变量(临时变量与环境变量)
创建:
export `变量名=变量值` 或者 `变量名=变量值;export 变量名`

案例演示:

[root@docker01 ~]# export B=BBB
[root@docker01 ~]# echo $B
BBB
[root@docker01 ~]# psPID TTY          TIME CMD2334 pts/0    00:00:00 bash7666 pts/0    00:00:00 ps
[root@docker01 ~]# /bin/bash
[root@docker01 ~]# psPID TTY          TIME CMD2334 pts/0    00:00:00 bash7667 pts/0    00:00:00 bash7699 pts/0    00:00:00 ps
[root@docker01 ~]# ps auxf|grep bash
root       2334  0.0  0.1 116336  3004 pts/0    Ss   Jan18   0:00  |   \_ -bash
root       7667  0.1  0.1 116324  2780 pts/0    S    05:29   0:00  |       \_ /bin/bash
root       7714  0.0  0.0 112812   976 pts/0    S+   05:29   0:00  |           \_ grep --color=auto bash
[root@docker01 ~]# echo $B
BBB

2、永久环境变量。

在环境变量脚本文件中配置,该用户每次登录时会自动执行这些脚本,相当于永久生效。
相关语法:

$HOME/.bashrc    当前用户的bash信息,用户登录时读取     定义别名、umask、函数等
$HOME/.bash_profile 当前用户的环境变量,用户登录时读取
$HOME/.bash_logout  当前用户退出当前shell时最后读取      定义用户退出时执行的程序等

全局变量:所有的用户和程序都能调用

相关语法:

/etc/bashrc      全局的bash信息,所有用户都生效
/etc/profile        全局环境变量信息            系统和所有用户都生效

系统变量:系统定义好的一些变量

例如:

内置变量 含义
$? 上一条命令执行后返回的状态;状态值为0表示执行正常,非0表示执行异常或错误
$0 当前执行的程序或脚本名 (./02.sh)
$# 脚本后面接的参数的个数 3个
$* 脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开 (参数数组a b c)
$@ 脚本后面所有参数,参数是独立的,也是全部输出 (参数数组a b c)
$1~$9 脚本后面的位置参数,$1表示第1个位置参数,依次类推
${10}~${n} 扩展位置参数,第10个位置变量必须用{}大括号括起来(2位数字以上扩起来)
$$ 当前所在进程的进程号,如echo $$
$! 后台运行的最后一个进程号 测试: sleep 400 &(后台运行)/sleep 400(ctrl+z 暂停运行), 再运行jobs, 查看当前进程的后台子进程.
!$ 调用最后一条命令历史中的参数

注意:

对于全局变量和永久环境变量,用户登录系统后, 相关文件的加载顺序:
1、/etc/profile
2、$HOME/.bash_profile
3、$HOME/.bashrc
4、/etc/bashrc
5、$HOME/.bash_logout

Linux变量分类(全)相关推荐

  1. Linux 环境变量配置全攻略

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

  2. Linux环境变量配置全攻略

    本文转载自: Linux环境变量配置全攻略 - 悠悠i - 博客园 目录 Linux环境变量配置 Linux读取环境变量 Linux环境变量配置方法一:export PATH Linux环境变量配置方 ...

  3. synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标)

    synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标) 标签: windowslinuxkeyboard服务器测试 2011-11-26 14:51 6882人阅读 评论( ...

  4. 【Java2】一维数组,家庭收支界面,/属性和方法,方法重载,变量分类,可变参数,包

    文章目录 1.一维数组:int[ ] a = { } 1.1 数组的内存分析(静态):数组名=首地址 1.2 数组的内存分析(动态):元素默认值 1.3 数组相关算法: 1.3.1 找最值:array ...

  5. ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

    // 留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单 // 内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓 ...

  6. Linux操作命令分类详解 - 用户权限(三)

    转自:Linux操作命令分类详解 - 用户权限(三),更优阅读体验:http://www.kongzid.com/ 目录 系列文章 1.用户账号管理 1.1 useradd/adduser 添加用户账 ...

  7. linux中vim的全拼,linux常用命令全拼

    原标题:linux常用命令全拼 命令缩写 pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windo ...

  8. .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)

    在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...

  9. linux下版图设计,Linux系统安装及全定制版图设计基础.ppt

    Linux系统安装及全定制版图设计基础 Ningbo University Chap.12 Linux系统安装及全定制版图设计基础 (1) Outline Linux介绍(安装.使用简介) Caden ...

最新文章

  1. 一步步玩pcDuino3--mmc下的裸机流水灯
  2. Java 序列化Serializable详解(附详细例子)
  3. python 比较列表相邻元素(找相同或去重)
  4. linux终端命令教程,Linux终端命令入坑技巧
  5. STM32 map文件解析
  6. 基于Spring boot,使用idea方便地切换启动环境
  7. 拼图项目:一个不完整的难题
  8. 5000字权威指南分享!企业如何正确制定 IT 战略及其路线图
  9. yolo mark的使用(转)
  10. knn算法python代码_在python中使用KNN算法处理缺失的数据
  11. Erlang 二十年,如何在编程语言中占据一席之地?
  12. 苹果自研基带野心不死:给高通300多亿后,正洽购英特尔调制解调器业务
  13. Virtualization API之libvirt
  14. 计算机bios设置系统安装教程,U盘装系统BIOS设置教程进行设置图文教程
  15. 一张模板替代数百Excel,这个工具让报表工作自动进行
  16. esxi php,ESXi虚拟机安装8168/8111网卡
  17. 定时备份网站数据文件到阿里网盘
  18. 计算机专业术语,收藏用
  19. IC卡,ID卡,M1卡等各种卡扫盲篇
  20. 六轴机器人直角坐标系建立_工业机器人六种坐标系详解(图)

热门文章

  1. iOS 仿微信相册选择照片imagePicker(Swift) 序号 预览缩略图
  2. TDH和CDH的简介和对比
  3. 数据解析15个新一线城市2020年GDP情况,“最牛”地级市是哪里?
  4. EV3中的API(C4EV3上测试)
  5. android获取堆叠的通知栏信息
  6. PC固态硬盘新品SN740测评
  7. 人工智能:算法和数据
  8. [转载]你省下来的钱,够买时间吗?
  9. 云鲸智能首次亮相上海进博会,引领行业发展新风向
  10. html中怎么展示PDF文件