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