1. 什么是变量

变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容。

变量的定义是存在内存中。

x=1
y=2

2. 变量类型

变量分为两类:

  • 环境变量(也可称为全局变量);可以在创建他们的Shell及派生出来的子shell中使用。环境变量又可以分为自定义环境变量bash内置的环境变量
  • 局部变量(普通变量):只能在创建他们的shell函数或shell脚本中使用,还记得前面的$user 我们创建的一般都是普通变量。

2.1 环境变量(全局变量)

  • 环境变量用于定义Shell的运行环境,保证Shell命令的正确执行,

    • Shell通过环境变量来确定登录用户名,命令路径,终端类型,登录目录等,
    • 所有的环境变量都是全局变量,可用于所有子进程中,包括编辑器,shell脚本和各类应用。
    • crond计划任务除外,还需要重新定义环境变量
  • 环境变量可以在命令行中设置,但用户退出时这些变量值也会丢失,
    • 因此最好在用户家目录下的.bash_profile文件中或全局配置/etc/bashrc,/etc/profile文件或者/etc/profile.d/目录中定义。
    • 将环境变量放入profile文件中,每次用户登录时这些变量值都将被初始化。
  • 通常,所有环境变量均为大写。
  • 环境变量应用于用户进程前,都应该用export命令导出。
    • 例如:export chensiqi=1
  • 有一些环境变量,比如HOME,PATH,SHELL,UID,USER等,在用户登录之前就已经被/bin/login程序设置好了。
  • 通常环境变量定义并保存在用户家目录下的.bash_profile或/etc/profile文件中。
 

示例:

1. 之前shell脚本中直接使用的$UID

最新文章

  1. dubbo配置
  2. iOS不用调用,running time自动执行方法
  3. dedecms 使用
  4. ACM 杂题,思路题 整理
  5. iOS开发小技巧--父子控制器练习中get到的技能,控制核心动画的范围
  6. 51nod 棋盘问题(博弈论)
  7. 转载StringBuilder说明
  8. [RxJS] Sharing Streams with Share
  9. WCF与Web API 区别
  10. MongoDB入门学习笔记之简介与安装配置
  11. Spring容器中Bean的生命周期
  12. Unix系统的文件目录项的内容是什么,这样处理的好处是什么?
  13. [python] Start a http server
  14. MySQL性能调优——锁定机制与锁优化分析
  15. S2T40,第五章
  16. 微信小程序开发之搞懂flex布局1——Flexbox
  17. 对C#中的Close()和Dispose()的浅析
  18. SSH Secure Shell Client--- the host may be dow
  19. mysql的TABLE_SCHEMA的sql和information_schema表, MySQL管理一些基础SQL语句, Changes in MySQL 5.7.2
  20. OAF_OAF控件系列9 - Description Flexfiled描述性弹性域的实现(案例)

热门文章

  1. 关于C#三层架构中的“分页”功能
  2. 一夜搞懂 | JVM 线程安全与锁优化
  3. DALI 48V驱动
  4. Python:Day05-2
  5. django-filter的基本使用
  6. Python常见数据结构-推导式
  7. LARAVEL快速入门
  8. Date 对象-->概念、创建以及方法
  9. AD颗粒化密码规则策略
  10. E - Max Sum Plus Plus Plus HDU - 1244 (线性区间DP)