3.2.2 显示与取消环境变量
《跟老男孩学Linux运维:Shell编程实战》本书是一本较完整的Shell编程实战型图书,并非大而全,但处处可以体现实战二字,大多内容取于企业实战,并结合老男孩十几年的运维工作和教学工作进行了梳理。本节为大家介绍显示与取消环境变量。
- 作者:老男孩来源:机械工业出版社|2017-04-21 10:40
有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研
3.2.2 显示与取消环境变量
1.通过echo或printf命令打印环境变量
下面我们先来看看常见的系统环境变量。
$HOME:用户登录时进入的目录。
$UID:当前用户的UID(用户标识),相当于id?-u。
$PWD:当前工作目录的绝对路径名。
$SHELL:当前SHELL。
$USER:当前用户。
......
范例3-3:通过echo和printf命令打印环境变量。
- [oldboy@oldboy ~]$ echo $HOME
- /home/oldboy
- [oldboy@oldboy ~]$ echo $UID
- 504
- [oldboy@oldboy ~]$ echo $PWD
- /home/oldboy
- [oldboy@oldboy ~]$ echo $SHELL
- /bin/bash
- [oldboy@oldboy ~]$ echo $USER
- oldboy
- [root@oldboy ~]# printf "$HOME\n"
- #<==printf是一个更复杂的格式化打印内容的工具,一般不需要
- /root
提示: 在写Shell脚本时可以直接使用系统默认的环境变量,一般情况下是不需要重新定义的,在使用定时任务等执行Shell脚本时建议在脚本中重新定义。
2.用env或set显示默认的环境变量
用env(printenv)显示默认环境变量的示例如下:
- [oldboy@oldboy ~]$ env
- HOSTNAME=oldboy
- SHELL=/bin/bash
- HISTSIZE=1000
- LC_ALL=C
- MAIL=/var/spool/mail/oldboy
- PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oldboy/bin
- INPUTRC=/etc/inputrc
- PWD=/home/oldboy
- LANG=zh_cn.gb18030
- SHLVL=1
- HOME=/home/oldboy
- LOGNAME=oldboy
中间和结尾省略若干代码
用set也可以显示环境变量(包括局部变量),如下:
- [root@oldboy ~]# set
- APACHEERR=hello
- BASH=/bin/bash
- BASH_ALIASES=()
- BASH_ARGC=()
- BASH_ARGV=()
- BASH_CMDS=()
- BASH_LINENO=()
- BASH_SOURCE=()
- BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")
- BASH_VERSION='4.1.2(1)-release'
- COLORS=/etc/DIR_COLORS
- COLUMNS=103
中间和结尾省略若干代码
在3.2.1节还提到了一个相关的命令declare,大家还记得吗?
3.用unset消除本地变量和环境变量
用unset消除本地变量和环境变量的示例如下:
- [oldboy@oldboy ~]$ echo $USER
- oldboy
- [oldboy@oldboy ~]$ unset USER
- [oldboy@oldboy ~]$ echo $USER
- #<==此处为输出的空行
可以看到变量的内容显示为空。
环境变量的知识小结:
变量名通常要大写。
变量可以在自身的Shell及子Shell中使用。
常用export来定义环境变量。
执行env默认可以显示所有的环境变量名称及对应的值。
输出时用“$变量名”,取消时用“unset变量名”。
书写crond定时任务时要注意,脚本要用到的环境变量最好先在所执行的Shell脚本中重新定义。
如果希望环境变量永久生效,则可以将其放在用户环境变量文件或全局环境变量文件里。
喜欢的朋友可以添加我们的微信账号:
51CTO读书频道二维码
51CTO读书频道活动讨论群:342347198
回书目 上一节 下一节 |
- 大家都在看
- 猜你喜欢
- 24H热文
- 一周话题
- 本月最赞
- 3.3.1.1 标准9针串口引脚定义一、中国制造2025主要内容深入理解Spring Cloud与微服务构建6.9.1 企业文件服务器搭建案例(1)15.2.2 指数平滑模型的SPSS操作(1)7.2.3 用ALTER TABLE语句来创建索引3.1 网络爬虫实现原理详解2.3 MariaDB常用图形管理工具
- 3.3.1.1 标准9针串口引脚定义一、中国制造2025主要内容8.2.8 drawRoundRect方法:绘制圆角矩形深入理解Spring Cloud与微服务构建2.6.1 @Produces注解Python即学即用12.2 使用DROP INDEX删除索引7.2.3 用ALTER TABLE语句来创建索引
- 3.3.1.1 标准9针串口引脚定义深入理解Spring Cloud与微服务构建8.2.8 drawRoundRect方法:绘制圆角矩形一、中国制造2025主要内容7.2.3 用ALTER TABLE语句来创建索引2.3 三角函数的图像12.2 使用DROP INDEX删除索引2.6.1 @Produces注解
视频课程+更多
-
【王佩丰】PowerPoint2010视频教程
讲师:王佩丰747358人学习过
-
构建大型企业网络-(华为版)视频课程
讲师:吴忠捷26339人学习过
-
Windows Server 2008 活动目录视频课程
讲师:韩立刚353114人学习过
最新专题+更多
- 精选博文
- 论坛热帖
- 下载排行
- keepalived+nginx负载均衡反向代理Android 音视频深入 十九 使用ijkplAzure Linux 虚机图像化配置之四:配从零开始创建自己的区块链应用(JAVA51CTO博客2.0造星计划粉丝大奖赛参赛
- 【Exchange板块公告】Office 365新老、第三方邮箱邮件自动34岁就要被清退,工程师的路在何方?茶碗的南下实录(已更新至2018年2月4吐槽,普通运维的生存倒计时...
- Clear DownpaymentAsset Down PaymentDisplay MaterialGL Journal Entry- Enter the accounChange Material Master
-
订阅51CTO邮刊
点击这里查看样刊