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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)