linux环境变量 export命令详解
由host $ exportDVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题1、${HOME}:首先,HOME 是个变量,它代表你的home 目录,变量前必须加上$ 符号,否则会报错usr/local/dvsdk为dvsdk的destination folder 由#echo $DVSDK测试环境变量添加成功否2、想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.localLinux export 命令功能说明:设置或显示环境变量。
(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)语法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量。
export可新增,修改或删除环境变量,供后续执行的程序使用。
export的效力仅及于该此登陆操作。
参数:-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。
变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。
而命令export可以向后面的shell传递变量的值。
当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。
export命令可以用于传递一个或多个变量的值到任何后继脚本。
----《UNIX教程》在 linux 里设置环境变量的方法( export PATH )一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。
例如我的mips-linux-gcc编译器在“/opt/au1200_rm /build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1、直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好,可用命令export查看:[root@localhost bin]#exportdeclare -x BASH_ENV="/root/.bashrc"declare -x G_BROKEN_FILENAMES="1"declare -x HISTSIZE="1000"declare -x HOME="/root"declare -x HOSTNAME="localhost.localdomain"declare -x INPUTRC="/etc/inputrc"declare -x LANG="zh_CN.GB18030"declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"declare -x LOGNAME="root"declare -xLS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40; 33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01 ;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*. csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=0 1;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz= 01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35 :*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:" declare -x MAIL="/var/spool/mail/root"declare -x OLDPWD="/opt/au1200_rm/build_tools"declare -xPATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bi n:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"declare -x PWD="/opt/au1200_rm/build_tools/bin"declare -x SHELL="/bin/bash"declare -x SHLVL="1"declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass" declare -x SSH_AUTH_SOCK="/tmp/ssh-XX3LKWhz/agent.4242"declare -x SSH_CLIENT="10.3.37.152 2236 22"declare -x SSH_CONNECTION="10.3.37.152 2236 10.3.37.186 22"declare -x SSH_TTY="/dev/pts/2"declare -x TERM="linux"declare -x USER="root"declare -x USERNAME="root"可以看到灰色部分有设置的路径,说明环境变量已经设好,PATH里面已经有了我要加的编译器的路径。
2、修改profile文件:#vi /etc/profile在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"3. 修改.bashrc文件:# vi /root/.bashrc在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:# echo $PATH看看输出里面是不是已经有了 /my_new_path这个路径了。
另有:4. 修改/etc/re.local文件:# vi /etc/re.local在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"-----------------------------------------------------------------------------------------------------------------------“/bin”、“/sbin”、“ /usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。
如果不在标准位置,文件名前面需要加上完整的路径。
不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。
命令export $PATH="路径”(或“PATH=$PATH:路径”) ($PATH为环境变量名,如DVSDK;调用时用$DVSDK)可以把这个路径加入环境变量,但是退出这个命令行就失效了。
要想永久生效,需要把这行添加到环境变量文件里。
有两个文件可选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下的“.bash_profile”只对这个用户有效。
export $PATH="$PATH:路径1:路径2:...:路径n” (或“PATH=$PATH:路径1:路径2:...:路径n"),意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。
当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。
那个“$PATH”表示原先设定的路径仍然有效,注意不要漏掉。
某些软件可能还有“PATH”以外类型的环境变量需要添加,但方法与此相同,并且也需要注意“$”。
注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。
另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。
格式如下():# 软件名-版本号PATH=$PATH:路径1:路径 2:...:路径n其他环境变量=$其他环境变量:...在“profile”和“.bash_profile”中,“#”是注释符号,写在这里除了视觉分隔外没有任何效果。
设置完毕,注销并重新登录,设置就生效了。
如果不注销,直接在shell里执行这些语句,也能生效,但是作用范围只限于执行了这些语句的shell。
相关的环境变量生效后,就不必老跑到软件的可执行文件目录里去操作了。
-----------------------------------------------------------------------------------------------------------------------执行一个脚本时,会先开启一个子shell环境(不知道执行其它程序是不是这样),然后将父shell中的所有系统环境变量复制过来,这个脚本中的语句就在子shell中执行。
export环境变量用法
export命令在Linux中用于设置或显示环境变量。
具体使用方法如下:
•设置环境变量。
要将变量设置为环境变量,可以使用export命令,后跟变量名称和要设置的值。
例如,要将变量MY_VAR设置为“Hello, World!”
可以使用以下命令:export MY_VAR="Hello, World!"。
•设置默认值。
如果环境变量没有被设置,可能需要给它一个默认值。
可以使用以下命令将命令的输出设置为环境变量MY_VAR:export MY_VAR=$(command) || export MY_VAR="default value"。
如果命令的输出为空,将使用默认值“default value”。
•查看所有环境变量。
要查看当前shell会话中定义的所有环境变量,可以使用以下命令:export -p。
这将列出所有由export设置的shell赋予程序的环境变量。
请注意,这些是基本用法,具体应用可能因操作系统和具体需求而有所不同。
Linux命令行中的环境变量保护和备份技巧
Linux命令行中的环境变量保护和备份技巧在Linux系统中,环境变量是一些用来存储系统配置和运行环境信息的变量。
在命令行中,我们经常需要使用环境变量来控制程序的运行,设置路径和配置文件等。
然而,由于一些误操作或者恶意行为,环境变量可能会被修改或者删除,导致系统无法正常工作。
为了保护和备份环境变量,我们可以采取一些技巧和方法,以确保系统的稳定和可靠性。
1. 导出环境变量在Linux中,我们可以使用export命令来导出环境变量,让其对当前会话和子进程有效。
例如,我们可以使用以下命令导出一个名为PATH的环境变量:```export PATH=/usr/local/bin:$PATH```这样,在当前会话中,我们就可以使用/usr/local/bin目录下的可执行文件,同时保留原有的PATH设置。
2. 将环境变量写入配置文件为了保持环境变量的持久性,我们可以将其写入配置文件中。
在大多数Linux发行版中,用户的环境变量配置文件通常是~/.bashrc或者~/.bash_profile。
我们可以使用文本编辑器打开这些文件,并添加类似以下的行:```export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64```保存文件后,重新登录或者执行source命令使配置文件生效。
3. 使用环境变量保护脚本有时候,我们会编写一些重要的脚本,其中可能包含一些敏感信息,如数据库密码等。
为了保护这些信息不被泄露,我们可以使用环境变量来存储这些敏感信息,而不是直接在脚本中写明。
例如,我们可以将数据库密码存储在一个名为DB_PASSWORD的环境变量中,在脚本中使用该变量来访问数据库:```#!/bin/bashmysql -u root -p$DB_PASSWORD -e "SELECT * FROM users;"```这样,即使脚本被他人查看,也无法得知实际的数据库密码。
linux declare和export用法
linux declare和export用法在Linux中,declare和export是两个常用的命令,用于声明和设置环境变量。
1.declare命令:declare命令用于在Shell脚本中声明一个或多个变量,并设置其值。
变量的类型可以是整数、字符串或数组。
下面是declare命令的一般语法:bash复制代码declare variable_name=variable_value例如,要声明一个整数变量count并将其设置为10,可以执行以下命令:bash复制代码declare count=10你还可以同时声明多个变量,例如:bash复制代码declare count=10 name="John"1.export命令:export命令用于将变量的值设置为环境变量,以便在Shell脚本或终端会话中共享和使用。
只有带有export命令声明的变量才会在子进程中继承。
下面是export命令的一般语法:bash复制代码export variable_name=variable_value例如,要将整数变量count设置为环境变量,并设置为10,可以执行以下命令:bash复制代码export count=10你还可以同时声明多个环境变量,例如:bash复制代码export count=10 name="John"这将把count和name变量设置为环境变量。
注意事项:•在使用declare和export命令时,变量名是区分大小写的。
因此,count和Count 被视为不同的变量。
•使用declare命令声明的变量仅在当前Shell脚本中有效,不会影响全局环境。
如果要在终端会话中永久设置变量,可以使用export命令。
linux export 用法
linux export 用法在Linux操作系统中,export命令是用于设置环境变量的工具。
环境变量是一个存储在操作系统中的具有特定含义的值,它们可以影响程序的行为和系统的运行。
export命令可以将变量指定为环境变量,使其能够被其他进程访问和使用。
使用export命令设置环境变量非常简单。
下面是一些常用的export命令的用法示例:1. 设置单个环境变量:export VARIABLE_NAME=VALUE例:export PATH=/usr/local/bin:$PATH2. 设置多个环境变量:可以通过空格分隔多个环境变量的设置。
export VARIABLE1=VALUE1 VARIABLE2=VALUE2例:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64JRE_HOME=/usr/lib/jvm/java-11-openjdk-amd64/jre3. 查看已设置的环境变量:使用export命令时省略变量值,可以查看当前所有已设置的环境变量。
export4. 临时设置环境变量:可以使用export命令在当前的Shell会话中临时设置环境变量。
这些变量仅在当前会话中有效,并在会话结束时被清除。
例:export TEST_VAR=test_value5. 导出变量给子进程:默认情况下,export命令会将环境变量导出给子进程,使其可以使用这些变量。
这对于在shell脚本中设置环境变量特别有用。
例:export MY_VAR=hello_world6. 取消设置环境变量:使用unset命令可以取消已设置的环境变量。
unset VARIABLE_NAME例:unset MY_VAR使用export命令可以轻松地管理环境变量,并确保它们在系统中正确地传递和使用。
无论是在个人使用Linux的命令行环境下,还是在编写脚本和开发应用程序时,export命令都是一个非常有用的工具。
Linux环境变量配置全攻略
Linux环境变量配置全攻略Linux环境变量配置在⾃定义安装软件的时候,经常需要配置环境变量,下⾯列举出各种对环境变量的配置⽅法。
下⾯所有例⼦的环境说明如下:系统:Ubuntu 14.0⽤户名:uusama需要配置MySQL环境变量路径:/home/uusama/mysql/binLinux读取环境变量读取环境变量的⽅法:export命令显⽰当前系统定义的所有环境变量echo $PATH命令输出当前的PATH环境变量的值这两个命令执⾏的效果如下uusama@ubuntu:~$ exportdeclare -x HOME="/home/uusama"declare -x LANG="en_US.UTF-8"declare -x LANGUAGE="en_US:"declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"declare -x LESSOPEN="| /usr/bin/lesspipe %s"declare -x LOGNAME="uusama"declare -x MAIL="/var/mail/uusama"declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0"declare -x TERM="xterm"declare -x USER="uusama"uusama@ubuntu:~$ echo $PATH/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin其中PATH变量定义了运⾏命令的查找路径,以冒号:分割不同的路径,使⽤export定义的时候可加双引号也可不加。
export命令详解
export命令详解export 的基本作⽤就是将⽗shell中的局部变量设置为环境变量,使得该变量可以在⼦shell中使⽤。
下⾯设置两种情景对export进⾏原理解析。
情景1. 有⼀个名为myexport.sh的脚本,内容如下:#!/bin/shexport MY_PATH=/usr/local12在linux环境中打开终端运⾏该shell$sh myexport.sh$echo $MY_PATH$123运⾏该shell后在终端⽆法看到该环境变量的值。
- 在⼀个终端⽤export设置环境变量后再其他终端不可见。
原因⾸先要提到进程,进程是⼀个运⾏着的程序,是代码的动态形式,进程有如下属性:独⽴的内核堆栈进程控制块独⽴的存储空间由于每个进程有⾃⼰独⽴的存储空间,所以进程间的的数据是不可见的,进程间的交互需要⽤到进程间通信。
每⼀个shell都是⼀个独⽴的进程,所以在⼀个进程内的操作通常不会影响到另⼀个进程的内容,也不会被另⼀个进程所看到。
所以上⾯第⼆种情景中,不同的终端开启了不同的shell,这些终端是相互独⽴的进程,彼此⽆论如何设置环境变量,相互都是不可见的。
(写⼊到系统配置⽂件中的环境变量那就是通信了。
)export命令⽤于将⽗shell的局部变量全局化,这种全局化的意思就是让⼦shell可见。
在⽗shell中执⾏⼀个⼦shell,会启动⼀个新的进⾏——⼦进程,故⼦shell即是⼀个独⽴于⽗shell的进程,⽗⼦shell的存储空间是相互不可见的(即⼦shell看不到⽗shell中的变量),如果想让⼦shell看到⽗shell的变量就需要将该变量从⽗shell的独⽴存储空间复制到⼦shell的独⽴存储空间,⼦shell看到的变量其实是⾃⼰进程空间的内容,⽽不是⽗进程的内容,只不过这另个空间的变量的名称和值相同⽽已。
故export并没有采⽤什么⾼深的技术,只是将⽗进程空间的内容复制到⼦进程⽽已。
Linux中的⽗⼦进程是说⽗进程可以管理⼦进程,这种管理主要体现在三个⽅⾯:⽣、管、死,即⽗进程可以创建⼦进程,可以把上⾯export 的例⼦算作⼀种管理吧,⽗进程死则⼦进程必须死,⼦进程死对⽗进程没有影响。
ubuntu中export指令用法
在Ubuntu操作系统中,export指令是一个非常重要的命令,用于设置或显示环境变量。
环境变量是在操作系统中用来存储和传递信息的动态值,它们对于系统的正常运行和用户的使用体验非常重要。
在本文中,我们将探讨Ubuntu中export指令的用法,并深入了解其功能和应用场景。
1. export指令的基本语法在Ubuntu中,export指令的基本语法如下:```bashexport 变量名=数值```这里,export用于设置环境变量,变量名是环境变量的名称,而数值则是环境变量的取值。
通过这样的方式,我们可以在当前Shell会话中设置并使用环境变量。
2. export指令的用法举例为了更好地理解export指令的用法,让我们通过几个示例来演示其具体应用场景。
- 设置环境变量假设我们需要设置一个名为"MY_DIR"的环境变量,其取值为"/home/user/documents",我们可以使用export指令来实现:```bashexport MY_DIR=/home/user/documents```通过这样的设置,我们可以在当前的Shell会话中使用$MY_DIR来引用这个环境变量。
- 显示环境变量除了设置环境变量,export指令还可以用来显示当前已经设置的环境变量。
只需输入export命令,系统就会列出当前所有的环境变量及其取值。
3. export指令的注意事项在使用export指令的过程中,需要注意以下几点:- 环境变量的作用范围:通过export设置的环境变量只在当前的Shell会话中有效。
如果需要在其他会话或者子进程中也能够使用这个环境变量,就需要在对应的配置文件中做相应的设置。
- 变量取值的引用:在使用设置好的环境变量时,需要使用"$"符号来引用其取值。
我们可以通过echo $MY_DIR来显示MY_DIR环境变量的取值。
4. 我对export指令的个人观点和理解从我个人的角度来看,export指令在Ubuntu系统中扮演着非常重要的角色。
linux添加环境变量4种方法
linux添加环境变量4种方法
一、需要明白以下2点:
1、Linux的环境变量是保存在变量PATH中,可通过Linux shell 命令 echo $PATH 查看输出内容,或者直接输入export查看。
2、Linux环境变量值之间是通过冒号进行隔开的( : )
格式为:PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
二、暂时的添加环境变量PATH:
可通过export命令,如
export PATH=/usr/local/nginx/sbin/:$PATH,将/usr/local/nginx/sbin/目录临时添加到环境变量中
三、为当前用户永久添加环境变量:
编辑 .bashrc 文件 vim ~/.bashrc
文件末尾添加:export PATH="/usr/local/nginx/sbin/:$PATH"
source ~/.bashrc
四、为所有用户永久添加某一环境变量:
编辑 /etc/profile 文件 vim /etc/profile
文件末尾添加:export PATH="/usr/local/nginx/sbin/:$PATH"
source /etc/profile
五、/etc/environment 下面添加,
打开 /etc/environment ,在最后添加,运行下面2条命令。
sudo vi /etc/environment
source /etc/environment。
理解Linux的环境变量和路径设置
理解Linux的环境变量和路径设置在Linux系统中,环境变量和路径设置是操作系统中非常重要的概念。
正确理解和使用环境变量和路径设置,对于开发人员和系统管理员来说至关重要。
本文将从基本概念、设置方法和常见问题三个方面来介绍Linux的环境变量和路径设置。
一、基本概念1.1 环境变量环境变量是指在操作系统中用来存储系统配置信息的变量。
它可以影响系统的行为和软件的运行。
在Linux中,每个用户都有自己的环境变量设置,可以根据自己的需要进行修改和定制。
1.2 路径设置路径设置是指在系统中定义可执行文件的访问路径。
通过将可执行文件所在的路径添加到系统的路径列表中,可以使系统能够在任何位置执行该文件,而无需指定完整的路径。
二、设置方法2.1 环境变量的设置在Linux系统中,可以通过以下几种方式设置环境变量:1)命令行设置:可以使用export命令来设置临时的环境变量。
例如,export PATH=/usr/local/bin:$PATH可以将/usr/local/bin目录添加到系统的可执行文件路径列表中。
2)配置文件设置:可以通过修改用户目录下的.bashrc或者.profile 文件来设置永久生效的环境变量。
打开文件,在文件末尾添加类似的语句即可。
3)全局设置:可以通过修改/etc/environment或者/etc/profile文件来设置全局生效的环境变量。
需要root权限进行修改。
2.2 路径设置的方法在Linux系统中,可以通过以下几种方式进行路径设置:1)命令行设置:可以通过export命令将路径添加到PATH环境变量中。
例如,export PATH=/usr/local/bin:$PATH可以将/usr/local/bin目录添加到系统的路径列表中。
2)配置文件设置:可以通过修改用户目录下的.bashrc或者.profile 文件来设置永久生效的路径设置。
打开文件,在文件末尾添加export PATH=/usr/local/bin:$PATH类似的语句即可。
linux export的用法
linux export的用法Linux中的export命令是一个非常有用的工具,它允许我们设置环境变量,并将其传递给子进程。
本文将详细介绍export命令的用法和功能。
我们将一步一步地回答以下问题:什么是环境变量?为什么需要设置环境变量?如何使用export命令设置环境变量?export命令的一些常见用法和实际应用。
希望通过本文的介绍,读者能够对export命令有更深入的了解。
首先,让我们来回答第一个问题:什么是环境变量?在Linux系统中,环境变量是一个存储在操作系统中的键值对,用来存储各种系统和用户相关的信息。
这些信息可以是路径、用户名、Shell提示符等等。
环境变量在整个系统和所有的进程中都是可见的,可以在程序中被引用和使用。
那么,为什么我们需要设置环境变量呢?环境变量的设置可以帮助我们为特定的应用程序或要执行的命令提供必要的信息。
例如,我们可能希望将一个路径添加到系统的PATH环境变量中,以便系统可以找到我们自定义的可执行文件。
另一个例子是在编译和构建应用程序时,我们可能需要设置一些编译选项和库路径作为环境变量,以便编译器能够正确地找到所需的库文件。
下面,让我们来讨论如何使用export命令设置环境变量。
export命令的语法非常简单,它的一般格式是`export VARIABLE_NAME=VALUE`。
这将创建一个环境变量VARIABLE_NAME,并将其值设置为VALUE。
注意,变量名和值之间用等号连接,而且不需要添加空格。
另外,当我们设置一个环境变量时,它只对当前的Shell会话有效。
举个例子,假设我们想将一个名为MY_PATH的环境变量设置为"/usr/local/bin"。
我们只需要在终端中输入以下命令:export MY_PATH=/usr/local/bin在执行该命令后,MY_PATH将被设置为"/usr/local/bin",并且在当前的Shell会话中可用。
