环境变量相关的函数和命令

环境变量

1.概念

指在操作系统中用来指定操作系统运行环境的一些参数。环境变量通常具有特殊用途,在系统中具有全局特性。

环境变量通常具有全局属性,可以被子进程继承下去。

2.常见的环境变量

(1)PATH:指定命令的搜索路径

(2)HOME:指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)

(3)HISTSIZE:指保存历史命令记录的条数

(4)SHELL:当前Shell,它的值通常是/bin/bash

3.查看环境变量的方法

echo $NAME   //NAME:环境变量名称

举一个测试HOME的例子:

在普通用户的时候:

当切换到root权限的时候:


4.和环境变量相关的命令

(1)echo:显示某个环境变量值

(2)export:设置一个新的环境变量

(3)env:显示所有环境变量

(4)unset:清楚环境变量

(5)set:显示本地定义的shell变量和环境变量

5.setenv函数

作用:改变或增加环境变量的内容

相关函数getenv、putenv、unsetenv,首先要说明的是:通过此函数并不能添加或修改shell进程的环境变量。或者说通过setenv函数设置的环境变量只在本进程,而且是本次执行中有效。如果在某一次运行程序时执行了setenv函数,进程终止再次运行该程序,上次的设置是无效的,上次设置的环境变量是不能读到的。

表头文件#include<stdlib.h>

注:stdlib.h在Linux和Windows中略不同,比如setenv函数是用在linux中的,在Windows中没有setenv函数而用putenv来代替

定义函数int setenv(const char* name ,const char* value , int overwrite);

参数name为环境变量名称字符串,参数value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。如果没有此环境变量,则无论overwrite为何值均添加此环境变量。若此环境变量存在,overwrite不为0时,原内容会被改为参数value所指的变量内容,当overwrite为0时,则参数被忽略。返回值执行成功则返回0,有错误发生时,返回-1.

setenv用于在C shell设置环境变量的值

用法:setenv ENVVAR value

ENVVAR 为所要设置的环境变量的名。value为所要设置的环境变量的值

例:setenv PATH "/bin:/usr/bin:usr/sbin:"设置环境path的搜索路径为/bin,/usr/bin以及/usr/sbin

6.export函数

export设置环境变量是暂时的,只在本次登录中有效,若想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.local

作用:设置或显示环境变量(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须制定执行文件的目录,麻烦,在代码中限执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东西在这些目录里),在shell中执行程序时shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。

用法:export  [-fnp] [变量名称] = [变量设置值]

-f  代表[变量名称]中函数名称

-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p 列出所有的shell赋予程序的环境变量。

一个变量创建时,它不会自动的为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原来脚本(调用者)里定义的变量的访问权,除非这些变量已经被显示地设置为可用。export命令可以用于传递一个或多个变量的值到任何后续脚本。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值