资讯专栏INFORMATION COLUMN

Linux_《Linux命令行与shell脚本编程大全》第六章学习总结

Kerr1Gan / 1426人阅读

摘要:环境变量定义了用于进行命令和程序查找的目录。全局环境变量可以在对其作出定义的父进程所创建的子进程中使用。本章学习命令个人总结如下显示全局变量显示全局变量显示局部变量全局变量及用户自定义变量导出为全局环境变量删除环境变量

时间:2017年07月31日星期一

说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第六章学习总结

第六章:使用Linux环境变量

本章内容:

什么是环境变量
创建自己的局部变量
删除环境变量
默认shell环境变量
设置PATH环境变量
定位环境文件
数组变量
6.1 什么是环境变量

bash shell用一个叫作环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息(这也是他们被称作环境变量的原因)。

在bash shell中,环境变量分为两类

全局变量
局部变量
6.1.1 全局环境变量

命令:printenv

命令格式:printenv
命令说明:查看全局变量

命令:env

命令格式:env
命令说明:查看全局变量

可以直接使用环境变量,如:echo $HOME 或 ls $HOME

6.1.2 局部环境变量

命令:set

命令格式:set
命令说明:查看局部变量、全局变量以及用户定义变量
6.2 设置用户定义变量 6.2.1 设置局部用户定义变量
命令格式:key="value"
命令说明:设置环境变量key的值为value
命令格式:echo $key
命令说明:输出环境变量key的值
6.2.2 设置全局环境变量

命令:export

命令格式:export key
命令说明:将一个局部变量的key导出到全局环境中
6.3 删除环境变量

命令:unset

命令格式:unset key
命令说明:删除已经存在的环境变量

窍门:在涉及环境变量名时,什么时候该使用$,什么时候不该使用$,实在让人摸不着头脑。记住一点就行了:如果要用到变量,使用$;如果要操作变量,不使用$。这条规则的一个例外就是使用printenv显示某个变量的值。

如果你是在子进程中删除了一个全局环境变量,这只对子进程有效。该全局变量在父进程中依然可用

6.4 默认的shell环境变量

默认情况下,bash shell会用一些特定的环境变量来定义系统环境。常用系统环境变量

PWD:当前工作目录
EUID:当前用户的有效用户ID(数字形式)
UID:当前用户的真实用户ID(数字形式)
6.5 设置PATH环境变量

当你在shell命令行界面中输入一个外部命令时,shell必须搜索系统来找到对应的程序。PATH环境变量定义了用于进行命令和程序查找的目录。使用命令:echo $PATH,查看可供shell用来查找命令和程序的目录,PATH中的目录使用冒号分隔。

命令格式:PATH=$PATH:/home/demo/scripts
命令说明:将目录/home/demo/scripts添加到PATH环境变量中

窍门:如果希望子shell也能找到你的程序的位置,一定要记得把修改后的PATH环境变量导出。

注意:对PATH变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。

6.6 定位系统环境变量 6.6.1 登录shell

当你登录Linux系统时,bash shell会作为登录shell启动。登录shell会从5个不同的启动文件里读取命令

/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_login
$HOME/.profile

/etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。

6.6.4 环境变量持久化

对全局环境变量来说,可能更倾向于将新的或修改过的变量设置放在/etc/profile文件中。注意:如果系统升级后,这个文件也会跟着更新,所以之前设置的环境变量将不存在。

6.7 数组变量

要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔

mytest=(ont two three four five)
echo $mytest
echo ${mytest[2]}

窍门:环境变量数组的索引值都是从零开始。

6.8 小结

本章介绍了Linux的环境变量。全局环境变量可以在对其作出定义的父进程所创建的子进程中使用。局部环境变量只能在定义它们的进程中使用。本章介绍了env、printenv、set、export、unset命令。

本章学习命令个人总结如下:

env:显示全局变量
printenv:显示全局变量
set:显示局部变量、全局变量及用户自定义变量
export:导出为全局环境变量
unset:删除环境变量

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10221.html

相关文章

  • Linux_Linux命令行与shell脚本编程大全》第五章学习总结

    摘要:內建命令和非內建命令的操作方式大不相同。內建命令內建命令和外部命令的区别在于前者不需要使用子进程来执行。和命令都是內建与。命令演示演示说明利用命令来了解某个命令是否是內建的。 时间:2017年04月10日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第五章学习总结 第五章:理解she...

    rainyang 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第三章学习总结

    摘要:命令行与脚本编程大全第三版第三章学习总结第三章基本的命令本章内容使用手册浏览文件系统文件和目录列表管理文件和目录查看文件内容启动能提供对系统的交互式访问。重命名文件在中,重命名文件称为移动。 时间:2017年04月06日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第三章学习总结 第...

    sugarmo 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第十六章学习总结

    摘要:时间年月日星期二说明本文部分内容均摘取自书籍命令行与脚本编程大全,版权归原作者所有。命令行与脚本编程大全第三版第十六章学习总结第十六章控制脚本本章内容处理信号以后台模式运行脚本禁止挂起作业控制修改脚本优先级脚本执行自动化处理信号重温信号系统 时间:2017年09月26日星期二说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行...

    xietao3 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第十四章学习总结

    摘要:命令行与脚本编程大全第三版第十四章学习总结第十四章处理用户输入本章内容传递参数跟踪参数移动变量处理选项将选项标准化获取用户输入命令行参数读取参数会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数。 时间:2017年09月19日星期二说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版...

    王晗 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第二章学习总结

    摘要:控制台终端进入的一种方式是让系统退出图形化桌面模式,进入文本模式。它们分别是和,通常都会默认安装在发行版中。命令行参数的命令行参数非常多。小结为了着手学习命令行,得先能访问命令行。 时间:2017年04月05日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第二章学习总结 第二章:走进...

    tuniutech 评论0 收藏1

发表评论

0条评论

最新活动
阅读需要支付1元查看
<