Linux下的环境变量

Linux 环境变量详解 带你一命通关 Linux 环境变量 十五分钟手撕环境变量原理 阅读详情

 

我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题。什么是环境变量?如何定制环境变量?我将在下面做一些介绍。

一、 什么是环境变量?
Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义, 这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

二、定制环境变量
 
环境变量是和Shell紧密 相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。
下 面通过几个实例来说明

1.显示环境变量
HOME 
$ echo $HOME
/home/admin

2.
设置一个新的环境变量
NAME
$ export NAME="RaidCheng"
$ echo $NAME
RaidCheng

3.
使用env命令显示所有的环境变量
 
$ env
HOSTNAME=test
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=202.xxx.xxx.xxx 53694 22
CATALINA_BASE=/usr/local/jakarta-tomcat
SSH_TTY=/dev/pts/0
ANT_HOME=/usr/local/ant
JAVA_OPTS=-server
USER=admin
...

4.
使用set命令显示所有本地定义的Shell变量
 
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
CATALINA_BASE=/usr/local/jakarta-tomcat
CATALINA_HOME=/usr/local/jakarta-tomcat
...

5.
使用unset命令来清除环境变量
 
$ export NAME="RaidCheng"
$ echo $NAME
RaidCheng
$ unset NAME
$ echo $NAME

6.
使用readonly命令设置只读变量
 
$ export NAME="RaidCheng"
$ readonly NAME
$ unset NAME
-bash: unset: NAME: cannot unset: readonly variable
$ NAME="New" #
会发现此也变量不能被修改
-bash: TEST: readonly variable

三、 常见的环境变量
 
PATH
      决定了shell将到哪些目录中寻找命令或程序
HOME      当前用户主目录
HISTSIZE     历史记录数
LOGNAME     当前用户的登录名
 
HOSTNAME
    指主机的名称
SHELL      前 用户Shell类型
 
LANGUGE 
    语言相关的环境变量,多语言可以修改此环境变量
MAIL      当前用户的邮件存放目 录
 
PS1
       基本提示符,对于root用户是#,对于普通用户是
$
PS2
       附属提示符,默认是
“>”

四、 通过C程序来访问和设置环境变量
 
对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。
 

getenv()
访 问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回
NULL

setenv()
在 程序里面设置某个环境变量的函数

unsetenv()清除某个特定的环境变量的函数

另外,还有一个指针变量 environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量:

#include 
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf ("%s /n ",*var);
return 0;
}

五、 环境变量文件
通过修改一些相关的环境定义文件来修改环境变量,比如对于RedHat,与环境相关的文件有/etc/profile和~ /.bash_profile等。修改完毕后重新登录一次或运行命令source xxx就生效了

海思Hi3061M MCU:为高速吹风筒市场注入智能动力 此外,海思还提供了丰富的软件开发工具和生态环境组件,帮助开发者快速实现复杂功能。高速吹风筒因其高效的风力和快速的干燥效果,近年来在市场上越来越受欢迎。然而,传统的高速吹风筒在性能、噪音和使用寿命等方面仍有改进的空间。凭借其高性能、低功耗、低噪声和易用的开发工具,为高速吹风筒市场带来了全新的解决方案。这不仅提高了用户的使用体验,还延长了电机的使用寿命。这不仅减少了电机的电磁噪声,还提高了电机的运行效率。还支持风机顺逆风启动适配多种电阻范围的电机,进一步提高了吹风筒的适用性和灵活性。 阅读详情

相关推荐

基于Ansys Fluent和Mechanical的血管稳态流固耦合模型

流固耦合模型在医学中也会被用到,本次小编为大家带来针对人造血管内血液流动的仿真实例。 在开物云平台上找到Workbench 点击进入:https://cloud.yuansuan.cn/?user_source=community 在左侧的Toolbox中找到对应的模块:Fluid Flow(Fluent)和Static Structure 双击“Geometry”,进入建模功能 文件-打开-找到保存的模型文件 退回到主界面,在fluid flow(Fluent)中找到mesh

huasheng233的博客 3909

linux安装npm,Angular

1.官网下载 下载地址https://nodejs.org/dist/v12.11.0/ 2.下载 wget https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-x64.tar.gz 3.解压 tar -zxvf node-v12.11.0-linux-x64.tar.gz 4.加软链接 ln -s /usr/local/node/node-v12.11.0-linux-x64/bin/npm /usr/local/bin/npm ln -s /us

qq_43499385的博客 380

WS2812B非标准通信协议:手把手实现精准时序控制

详解WS2812B的精准时序实现原理,剖析其非标准通信协议的关键细节。通过实际操作指导,帮助开发者稳定驱动ws2812b灯带,解决常见时序偏差问题,提升项目显示效果与响应一致性。

weixin_42584586的博客 584

linux查看samba配置文件,samba服务的配置(linux共享目录)

1、安装配置samba服务service iptables stopsestatusdisableexport LANG=zh_CN.GB23121)使用yum安装sambayum install samba samba-client samba-commo2)创建共享目录mkdir /billchown -R nobody. /billchmod 777 /bill3)创建用户组groupadd...

weixin_31608325的博客 2299

使用 git一个仓库管理多个项目

我们需要在 git 里面创建一个空分支,该分支不继承任何提交,没有父节点,完全是一个干净的分支,这时候就需要使用 orphan。该命令会创建一个新的分支,并且该分支有前一个分支下的所有文件,我们不想提交任何内容,所以我们需要把当前内容全部删除。此时 master 分支已经有一个项目了,下面我们创建新的分支管理另一个项目。此时可以在该分支目录上初始化你的项目,在执行 git 命令提交代码。此时我们就完成了在同一个仓库管理不同项目的需求了。下载仓库到本地之后,进入项目目录,查看分支信息。

xrs151的博客 2025

naca翼型_STARCCM+计算二维翼型气动性能

STAR-CCM+计算二维翼型气动性能一算例背景机翼理论主要研究翼型在流体中运动时的力学特性。在工程领域中,机翼以升力面、控制面、叶片或桨叶等形式出现。舰船上的舵、水翼、减摇鳍等都是机翼,螺旋桨、汽轮机叶片和压缩机叶片也都是利用机翼原理工作的,而在研究船舶操纵性时,甚至还可把船体的水下部分看作一个巨大的机翼。随着航空科学的发展,世界各主要航空发达的国家建立了各种翼型系列。美国有NACA系...

weixin_39863741的博客 1万+

linux如何恢复系统环境变量,Linux下环境变量PATH设置错误

前言在看别人的博客解决angular cli安装的环境变量配置的时候,由于我不小心出错,把$符敲成了S,他报错找不到某些命令。再一敲,发现绝大多数的命令都不能用了。很明显这就是PATH设置错误导致的,但我不知道该怎么去解决呢?解决当我以为要重新装Linux系统的时候,我从谷歌上找到了答案。由于我的语言是中文(主要当时懒,觉得中文很顺手,却早已忘了老师的提醒)。幸好查中文也能查到,从别的博客中找到解...

weixin_39763683的博客 4612

基于NXP BFU730F的宽带WiFi LNA设计:从原理到实测的完整指南

低噪声放大器(LNA)是无线通信接收链路中的关键器件,其性能直接决定了系统的接收灵敏度。LNA的核心原理是在放大微弱信号的同时,尽可能降低自身引入的噪声,并保持良好的线性度以应对强干扰。在宽带应用场景下,如覆盖2.4GHz至5.9GHz的现代WiFi系统,设计需在宽带匹配、噪声优化和增益平坦度之间取得精妙平衡。本文以NXP的BFU730F SiGe:C HBT晶体管为核心,深入解析一种采用电阻反馈和LC匹配网络的经典宽带LNA架构。该设计通过优化反馈网络,在宽达3.5GHz的频带内实现了优异的噪声系数(低至

weixin_33587161的博客 326

【Angular4项目在linux环境构建与部署】--(1)环境配置

1.用xshell连接服务器 2.放置压缩文件 用winscp或者xftp将本地下载好的jdk 压缩包 nodejs压缩包 和NGINX压缩包放到服务器的/usr/local下。或者用wget命令直接下载三个文件。 3.解压三个压缩包 tar xvJf ***.tar.xz         //解压tar.xz格式文件 tar -xzvf ***.tar.gz      

十年磨一剑,沉淀…… 4207

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

1293

C#上位机开发实战全流程:从需求到落地,避坑指南+完整代码

作为一名做了5年工业自动化上位机开发的程序员,我踩过的坑比写过的代码还多——从最初串口通信粘包导致数据错乱,到可视化图表卡顿卡死,再到现场异常崩溃无日志可查,每一次踩坑都是一次血泪教训。今天这篇文章,我会把C#上位机开发的全流程拆解开,从需求分析到通信模块、数据可视化,再到异常处理,每个环节都结合工业实际场景,分享真实项目中能用的方案、完整代码和避坑技巧。不管你是刚入门的新手,还是想优化现有项目的老司机,相信都能有所收获。很多新手做上位机开发,一上来就闷头写代码,最后发现做出来的东西不符合现场需求——比如客

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 994

安装typescript和angular以及相关环境变量配置

angular环境变量配置

qq_41577242的博客 1181

垂类大模型 研发方向与具体方案调研

领域知识库加上通用大模型,针对通用大模型见过的知识比较少的问题,利用向量数据库等方式根据问题在领域知识库中找到相关内容,再利用通用大模型强大的summarization和qa的能力生成回复,完成本次垂直大模型研发。目前很多企业希望将大模型的能力应用到企业内部当中,但很多通用大模型只是一个预训练模型,其所能回答的知识主要来源于互联网上公开的通用知识库,对于部分垂直领域和企业内部的私有知识库的问答,给出的回答。:垂类大模型的效果与底座性能息息相关,研发垂类大模型第一步就是确定开源大模型解决方案。

风吹落叶的博客 3329

Linux环境变量

一、环境变量的概念 1、环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。 2、环境变量的分类 1)按生效的范围分类。 系统环境变量:公共的,对全部的用户都生效。 用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。 2)按生存周期分类。 永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。 临时环境变量:使用时在Shell中临时定义,退出Shell后失效。 3、Linux环境变量 Lin

qq_41962968的博客 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【Linux】环境变量

环境变量有关内容

weixin_74078718的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Linux下的环境变量【详解】

环境变量一般指的是在操作系统中用于指定操作系统运行环境的一些参数。在链接C/C++程序的代码时,会用到动静态库,但是动静态库我们并没有显示的去指定过让系统去那个路径下寻找它,但是每次都可以链接成功,这是因为有了环境变量的帮助。环境变量还会有一些特殊的用途,比如可以用作身份验证。

tang20030306的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Linux】Linux 环境变量

每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串。

Antonio915的博客 1433

Linux——环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数

qq_63943454的博客 4161

Linux 环境变量

unset命令+变量名可删除已经存在的环境变量。在unset命令中引用环境变量时,记住不要使用$。(如果要用到变量,使用$;如果要操作变量,不使用$。但用printenv显示某个变量的值是个例外,printenv HOME)用以上这种方式用户自己进行定义的环境变量,下次重新启动Linux就被删除了。如果想不被删除,一直存在,我们该怎么办?我们需要在系统自启动文件~/.bashrc中进行配置,将export命令写入到该文件内,这样我们下次重启系统后,这个变量就不会丢失了。

2401_87935803的博客 2385

【Linux】Linux环境变量

Linux环境变量的说明:如何查看环境变量、如何配置环境变量、常用的环境变量

HXFman的博客 1719

Linux之环境变量

本文介绍了环境变量的相关概念。

一只小卷毛的博客 1万+

linux设置anaconda环境变量,在Linux中永久设置Anaconda环境变量的方法

【感谢:http://www.codesec.net/view/459539.html】如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加:1、在终端输入$sudo gedit /etc/profile,打开profile文件。2、在文件末尾添加一行:export PATH=/home/grant/anaconda2/bin:$PATH,其中,将“/home...

weixin_29903713的博客 6476
上一篇: perl中的foreach
下一篇: Linux中Bash环境变量的设定顺序
wunderup
博客等级 码龄20年 13粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值