linux当中如何自定义全局变量teacher的变量的值为张三

linux当中如何自定义全局变量teacher的变量的值为张三,第1张

环境变量(environment variables)一般是指在 *** 作系统中用来指定 *** 作系统运行环境的一些参数,这些参数会对系统行为产生影响。
比如常用的PATH环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到PATH中指定的路径去找。你可以在终端使用printenv PATH/echo $PATH查看当前PATH变量的值。
Linux系统下修改/自定义环境变量的方法通常分为两类:临时修改和永久性修改。下面分别介绍两种修改环境变量的方法。在这里以修改linux系统下的PATH环境变量(该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名)为例进行举例。
PATH环境变量:该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名,如果找到,则可以执行,如果找不到则会提示:无法找到××命令的错误。
1、临时修改/自定义环境变量
(1)临时自定义环境变量。
注意,系统默认的环境变量名称一般为大写,自定义的环境变量名称一般为小写,这样是为了避免命名上的冲突。
自定义临时环境变量时,有两种办法,一种是在terminal终端命令行直接定义,如下:
在这里插入描述
注意,此时自定义的my环境变量的作用范围仅限于当前shell(此时定义的my变量实际上是局部变量),在当前shell的子shell中无法寻找到该自定义变量。直接在其子shell中无法直接使用它。要想在其子shell中使用,必须用export命令来导出它为全局变量。
在这里插入描述
如上图所示,在定义my环境变量的子shell中无法识别到my环境变量。
当定义完my环境变量后,利用export命令将其转化为全局变量:
在这里插入描述
可以看到,使用export将my环境变量导出成全局变量后,在其子shell中也可以识别到。
注意!!!!使用export导出的my环境变量仅仅适用于当前的shell及其衍生shell中,退出当前shell后,my变量将不复存在。所以,这也是该方法被称为临时定义变量的原因。
自定义临时环境变量时,除了在terminal终端命令行直接定义外,还可以使用shell脚本的方法来事先定义好一个环境变量。并用source命令(或者 命令)(这么做是因为使用这两个命令是在当前shell中激活该脚本,不会产生子shell)在使用该变量的shell中激活该shell脚本即可。

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。JAVA_HOME指向的是JDK的安装路径,如x:\JDK_142,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXX\xxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:JAVA_HOME=x:\JDK_142PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin%JAVA_HOME%来看一下你的设置结果) :PATH=%JAVA_HOME%\bin;%PATH%同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。CLASSPATH=\;%JAVA_HOME%\lib\toolsjar首先要注意的是最前面的"\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的),所以如果喜欢盘根究底的朋友不妨研究一下LINUX。这个是由java语言的import机制和jar机制决定的,你可以查资料解决。 呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑-属性-高级-环境变量,修改下面系统变量那个框里的值就行了。

1首先,打开配置环境变量界面,如下 *** 作:我的电脑---属性---高级---环境变量
2系统变量(S)中配置如下:
21,新建系统变量:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk150_17(该目录为JDK安装的目录)
22,编辑CLASSPATH,如果没有该变量则新建,
变量名:CLASSPATH
变量值:%JAVA_HOME%\lib\dtjar;%JAVA_HOME%\lib\toolsjar;(注:该变量值置于CLASSPATH即可,
其中:变量值最后要记得加“;”)
23,编辑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=terrymykmsorg
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='205b0(1)-release'
COLORS=/etc/DIR_COLORSxterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:00
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 charenviron;
int main ()
{
charvar;
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/profiled/sh ; do
if [ -r "$i" ]; then
$i
fi
done
unset i
JAVA_HOME="/opt/j2sdk142_01"
MYSQL_HOME="/var/mysql"
CLASSPATH=:$JAVA_HOME/lib/toolsjar:$JAVA_HOME/lib/dtjar
PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:/opt/apache-ant-154/bin
export JAVA_HOME CLASSPATH PATH
CVSROOT=/cvsroot;
export CVSROOT
LINUX系统环境变量
/etc/profile对整个系统有效
确定你使用的是bash
修改~/bash_profile
把你要设置的环境变量写进去
例如
JAVA_HOME=/usr/local/jdk
export JAVA_HOME

好多种方式啊,太多啦:
vi 文件名 #编辑方式查看,可修改
cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容
tail 文件名 #仅查看尾部,还可以指定行数
head 文件名 #仅查看头部,还可以指定行数
sed '1,$'p 文件名 #这个可以指定起始行和结束行的,把1和$换了就可以
awk
反正好多


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

原文地址: http://www.outofmemory.cn/yw/13362381.html

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

发表评论

登录后才能评论

评论列表(0条)

保存