如何设置C语言里的环境变量?

如何设置C语言里的环境变量?,第1张

C语言编译器本身需要环境变量支持,比如配置编译器可执行文件所在路径需要设置path环境变量等。

这时可以通过在命令行中调用 *** 作系统对应设置环境变量的命令,实现设置。

a. 在windows/dos下,设置命令为set, 引用变量为%变量名%,于是设置path的可以写作set path=xxxx%path%,这样就在path变量中增加了xxxx路径。

在C语言运行中,需要设置环境变量。这时可以使用system函数,调用系统命令来实现。

system("set my_env=env_string")

是在windows下增加一个my_env的环境变量,值为env_string。

而在linux下,该设置写作

system("export my_env=env_string")

扩展资料:

C语言中环境变量 *** 作

getenv(取得环境变量内容)

相关函数 putenv,setenv,unsetenv

putenv(改变或增加环境变量)

setenv(改变或增加环境变量)

对环境变量 *** 作

#include<stdlib.h>

main()

{

char * p

if((p=getenv(“USER”)))

printf(“USER =%s\n”,p)

setenv(“USER”,”test”,1)

printf(“USER=%s\n”,getenv(“USEr”))

unsetenv(“USER”)

printf(“USER=%s\n”,getenv(“USER”))

}

通过 NODE_ENV 可以来设置环境变量(默认值为 development )。

一般我们通过检查这个值来分别对开发环境和生产环境下做不同的处理。可以在命令行中通过下面的方式设置这个值:

从上面可以看出来,不同平台的写法是不一致的,我们想要一致的写法可以使用 cross-env

1.首先,打开配置环境变量界面,如下 *** 作:我的电脑---属性---高级---环境变量

2.系统变量(S)中配置如下:

2.1,新建系统变量:

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.5.0_17(该目录为JDK安装的目录)

2.2,编辑CLASSPATH,如果没有该变量则新建,

变量名:CLASSPATH

变量值:%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar(注:该变量值置于CLASSPATH即可,

其中:变量值最后要记得加“;”)

2.3,编辑PATH,如果没有则新建

变量名:PATH

变量值:.%JAVA_HOME%\bin(注:该变量值置于PATH前面,如果你只有一个JDK版本,可以不用编辑PATH,如果为了区别版本,那还是配置PATH变量值)。

redhat linux下设置环境变量

1. 显示环境变量HOME

$ echo $HOME

/home/terry

2. 设置一个新的环境变量WELCOME

$ export WELCOME="Hello!"

$ echo $WELCOME

Hello!

3. 使用env命令显示所有的环境变量

$ env

HOSTNAME=terry.mykms.org

PVM_RSH=/usr/bin/rsh

SHELL=/bin/bash

TERM=xterm

HISTSIZE=1000

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'

COLORS=/etc/DIR_COLORS.xterm

COLUMNS=80

DIRSTACK=()

DISPLAY=:0.0

5. 使用unset命令来清除环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

$ export TEST="Test..." #增加一个环境变量TEST

$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

$ unset $TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

6. 使用readonly命令设置只读变量

如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

$ export TEST="Test..." #增加一个环境变量TEST

$ readonly TEST #将环境变量TEST设为只读

$ unset TEST #会发现此变量不能被删除

-bash: unset: TEST: cannot unset: readonly variable

$ TEST="New" #会发现此也变量不能被修改

-bash: TEST: readonly variable

7. 用C程序来访问和设置环境变量

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

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

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

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

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

#i nclude

extern char**environ

int main ()

{

char**var

for (var =environ*var !=NULL++var)

printf ("%s \n ",*var)

return 0

}

Linux下的环境变量设置

# /etc/profile

# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc

pathmunge () {

if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" then

if [ "$2" = "after" ] then

PATH=$PATH:$1

else

PATH=$1:$PATH

fi

fi

}

# Path manipulation

if [ `id -u` = 0 ]then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

fi

pathmunge /usr/X11R6/bin after

unset pathmunge

# No core files by default

ulimit -S -c 0 >/dev/null 2>&1

USER="`id -un`"

LOGNAME=$USER

MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]then

INPUTRC=/etc/inputrc

fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

for i in /etc/profile.d/*.sh do

if [ -r "$i" ]then

. $i

fi

done

unset i

JAVA_HOME="/opt/j2sdk1.4.2_01"

MYSQL_HOME="/var/mysql"

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:/opt/apache-ant-1.5.4/bin

export JAVA_HOME CLASSPATH PATH

CVSROOT=/cvsroot

export CVSROOT

LINUX系统环境变量

/etc/profile对整个系统有效.

确定你使用的是bash

修改~/.bash_profile

把你要设置的环境变量写进去

例如

JAVA_HOME=/usr/local/jdk

export JAVA_HOME


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11264232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存