Linux设置和列出环境变量(linux设置环境变量)

shell Linux设置和列出环境变量 在基于Linux和Unix的系统中,环境变量是一组动态命名的值,存储在系统中,在shell或子shell启动的应用程序中使用 By myfreax 16 Oct 2022

在依据Linux和Unix的系统中,环境变量是一组动态取名字标值,存储在系统中,在shell或子shell运作的应用程序中运用。

简单来说,环境变量是具有名称和关联系数变量。环境变量允许您自定义系统的工作环境以及系统系统软件的行为。

例如,环境变量可以储放默认设置设置文本处理或默认浏览器的信息,可执行文件路线或系统地域设置和键盘布局设置。

在教学中,我们在这里描述如何加载和设置环境变量。

环境变量和shell变量具有健值对的格式。变量的名称区分大小写。遵循国际惯例,环境变量应该使用大写标志符。

为变量分配好多个值后,必须采用炉灶:标志符分隔,例如PATH环境变量。 =标识附近并没空格符。

变量可分为两种,环境变量和shell变量。环境变量是系统范围内可用的变量,由所产生的shell子进程弘扬。

Shell变量是仅适用于目前shell聊天的变量。每一种shell操作程序,如zshbash,都有自己的一组内部构造shell变量。

好多个命令适用于在Linux中例举和设置环境变量包括envprintenvsetunsetexport

env命令允许你在自定环境变量在目前的shell谈话中。在没有基本参数的情况之下使用时,这将会打印目前环境变量的列表。

printenv命令打印所有或特定环境变量。set命令设置删掉shell变量。在没有基本参数的情况之下使用时,这将会打印所有变量的列表,包括环境变量和shell变量以及shell函数。

unset命令删除shell和环境变量。export命令设置环境变量。

例举环境变量

例举环境变量的广泛应用命令是printenv。如果将变量的名称作为传送数据给命令,则仅打印该变量标值。

倘若未找到基本参数,printenv打印所有环境变量的列表,每行一个变量。

printenv HOME命令打印HOME的环境变量标值,这将会打印导出来目前登录顾客的路经,本身就是顾客的家目录。

您还可以向printenv命令传输好多个基本参数,例如命令printenv LANG PWD很有可能打印语言表达能力设置的环境变量和文档列表。

要是没有基本参数运行printenv或者env命令,这将会说明所有环境变量的列表。

printenv #打印所有环境变量
printenv HOME #打印HOME 环境变量
printenv LANG PWD #打印好多个环境变量

那也是一些常见的环境变量。USER目前登录的消费者。HOME用户状态的家目录。EDITOR要所使用的默认设置设置文本处理。也是你在智能终端中撰写时将要所使用的在线编辑。

SHELL用户状态shell路线,例如bash或zsh。LOGNAME用户状态的名称。

PATH是运行命令时要搜索的文件名称列表。如果你运行命令时,会自动照此顺序搜索这类文件名称并且用第一个找到的可执行文件。

LANG目前的学习环境设置。TERM目前的模拟智能终端。MAIL储放用户状态电子邮箱部位。

printenvenv命令只打印环境变量。如果要得到所有变量的列表,包括环境变量和shell变量以及shell函数,能用set命令。

set命令不需要任何基本参数。命令将展现所有变量的列表,因此您可能想把导出来通过管道传递给less命令set | less

您还可以运用echo命令打印shell变量。例如命令echo $BASH_VERSION打印BASH_VERSION要运行的变量标值。

set #打印环境变量以及shell变量
set | less #分页查询查看变量
echo $BASH_VERSION #打印shell变量

设置环境变量

为了更好地说明Shell和环境变量之间的区别,我们在这里从设置Shell变量慢慢,接着转到环境变量。

MY_VAR='myfreax'命令运用名称MY_VAR合值myfreax设置一个新的shell变量,这其实不是命令,那般shell过程的句法。

您可以使用grep过滤set命令的输出来验证变量是不是已经设置。命令set | grep MY_VAR将打印MY_VAR变量标值myfreax

你能运用printenv命令检查此变量是否为环境变量,倘若导出来为空,告诉我们变量并非环境变量。

大伙儿可以尝试在子shell中打印MY_VAR变量,运行命令bash -c 'echo $MY_VAR',我们将获得一个空导出来。

因为bash -c命令很有可能打开一个shell会话实例,目前shell会话设置的环境变量不易被子shell会话弘扬但传承环境变量。

MY_VAR='myfreax'
set | grep MY_VAR
printenv MY_VAR # 打印空字符串
bash -c 'echo $MY_VAR' #在子shell中打印shell变量,打印空字符串

export命令用于设置环境变量。有效的方法将shell变量导出为环境变量,例如命令export MY_VAR=myfreax,将MY_VAR设置为环境变量。

命令printenv MY_VAR打印环境变量MY_VAR标值,这将会打印myfreax。假如你尝试在子shell中打印环境变量,子shell很有可能弘扬父shell进度环境变量。

bash -c 'echo $MY_VAR'命令启动子shell会话,然后使用echo打印MY_VAR环境变量这时候您将在智能终端上打印变量标值myfreax

您还可以在一行中设置环境变量,例如命令export MY_NEW_VAR="My New Var"

以这种方式创建的环境变量仅仅在现阶段谈话中能用。假如你打开一个新的shell会话或者您注销目前的登录,则所有变量都将丢失。

export MY_VARR=myfreax
printenv MY_VAR #myfreax
bash -c 'echo $MY_VAR' #在子shell中打印环境变量,打印空字符串R=myfreax

分布式锁环境变量

想让环境变量分布式锁,你需要在bash环境变量中定义这类变量。在大多数Linux发行版中,如果你运作新会话时,即将迎来下列word里加载环境变量。

/etc/environment运用此文本文档设置系统区域地图环境变量。此文档里的变量运用FOO=bar"文件类型设置环境变量。

/etc/profile仅需输入bash登录shell,就会加载此word里设置的变量。在这儿word里声明环境变量,需要使用export命令设置环境变量。

每个用户shell都是有一定特定环境变量。例如,假如你运用Bash,则可以在~/.bashrc文本文档声明变量。

~/.bashrc是一个shell脚本,因此设置环境变量时,你需要使用export 命令,例如export PATH="$HOME/bin:$PATH"修改PATH环境变量。

要将新环境变量加载到目前shell谈话中,挑选source命令。source ~/.bashrc命令很有可能加载~/.bashrc表述的变量,source能是一切文本文档。

在指南中,大伙儿为大家彰显了如何设置和例举环境与shell变量。假如你有任何疑问,请随时。

LINUX

如何在Linux、Windows和macOS上编辑hosts文件(如何编辑hosts文件)

2023-1-19 10:35:23

LINUX

如何在CentOS安装RPM包(centos如何安装rpm包)

2023-1-19 10:40:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索