linux设置环境变量的方法
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里面已经有了我要加的编译器的路径。
linux配置代理方法

linux配置代理方法
在Linux系统中,配置代理可以通过以下几种方法实现:
1.环境变量代理。
可以通过设置系统环境变量,将代理信息添加到环境变量中。
```。
```。
2.配置文件代理。
可以修改系统的代理配置文件,也可在用户主目录下的.bashrc (或.zshrc)文件中加入代理配置。
例如,在Ubuntu中,可以编辑/etc/apt/apt.conf文件:
```。
```。
3.某些应用程序的代理。
某些应用程序可能需要单独设置代理,例如git和wget等。
可以通过修改应用程序的配置文件来设置代理。
例如,在使用git时,可以在~/.gitconfig文件中加入以下内容:```。
```。
以上为常见的配置代理方法,根据不同的系统和应用程序有所差异,具体可参考相关文档。
Linux环境下etcprofile和etcprofile.d的区别

Linux环境下etcprofile和etcprofile.d的区别/etc/profile ⽂件当⼀个⽤户登录Linux系统或使⽤su -命令切换到另⼀个⽤户时,也就是Login shell 启动时,⾸先要确保执⾏的启动脚本就是 /etc/profile 。
敲⿊板:只有Login shell 启动时才会运⾏ /etc/profile 这个脚本,⽽Non-login shell 不会调⽤这个脚本。
⼀些重要的变量就是在这个脚本⽂件中设置的,含义如下:PATH:预设可执⾏⽂件或命令的搜索路径。
USER: ⽤户登录时使⽤的⽤户名。
LOGNAME: 其值为$USER。
HOSTNAME: 所使⽤的主机名。
MAIL:存放⽤户电⼦邮件的邮箱(实际上是⼀个ASCII码⽂件)。
HISTSIZE:历史记录的⾏数。
INPUTRC: 存放的是针对键盘热键的信息(也是⼀个ASCII码⽂件)。
要注意的是在/etc/profile ⽂件中设置的变量是全局变量。
/etc/profile.d ⽬录中的脚本⽂件在/etc/profile.d ⽬录中存放的是⼀些应⽤程序所需的启动脚本,其中包括了颜⾊、语⾔、less、vim及which等命令的⼀些附加设置。
这些脚本⽂件之所以能够被⾃动执⾏,是因为在/etc/profile 中使⽤⼀个for循环语句来调⽤这些脚本。
⽽这些脚本⽂件是⽤来设置⼀些变量和运⾏⼀些初始化过程的。
⼤致介绍⼀下/etc/profile.d ⽬录下⼀些脚本⽂件中的具体内容。
⾸先,切换到/etc/profile.d ⽬录,之后使⽤ls命令列出/etc/profile.d ⽬录中的所有脚本⽂件(在这个⽬录中只有脚本⽂件)。
goddog@ubuntu:~$ cd /etc/profile.dgoddog@ubuntu:/etc/profile.d$ lsapps-bin-path.sh cedilla-portuguese.sh vte-2.91.shbash_completion.sh qtubuntu-print.sh使⽤file命令确定apps-bin-path.sh⽂件的类型,确定是⼀个ASCII码⽂件之后,使⽤cat命令列出 apps-bin-path.sh ⽂件中的全部内容:goddog@ubuntu:/etc/profile.d$ file apps-bin-path.shapps-bin-path.sh: ASCII textgoddog@ubuntu:/etc/profile.d$ cat apps-bin-path.sh# Expand the $PATH to include /snap/bin which is what snappy applications# usePATH=$PATH:/snap/bin如果对其他的脚本⽂件的内容感兴趣,可以使⽤以上的⽅法确认⽂件的类型之后再显⽰脚本⽂件中的内容。
linux_shell自定义命令

linux_shell⾃定义命令⼀、命令可执⾏⽂件所在⽬录##shell命令可执⾏⽂件所在⽬录是保存在环境变量PATH中的,终端输⼊如下命令查看 PATH 环境变量的内容:$ echo $PATH我的linux输出如下:/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games⼆、⾃定义shell命令##在 /home/hj(注:hj为⽤户⽬录)⽬录创建⼀个 mybin ⽬录,并将上述 hello.sh 和 helloworld ⽂件移动到其中:$ mkdir mybin$ cd mybin创建⼀个 Shell 脚本###$ gedit hello.sh添加如下内容,保存并退出:#!/bin/bashecho "hello shell!"exit 0赋予权限$ chmod 777 hello_shell.sh创建可执⾏⽂件###$ gedit helloworld.c添加如下内容,保存并退出:#include <stdio.h>int main(){printf("hello world!\n");return 0;}使⽤ gcc ⽣成可执⾏⽂件:$ gcc helloworld.c -o hellowold在环境变量PATH中添加命令可执⾏⽂件所在⽬录###这⾥有三种不同⽅式1、直接在命令⾏中设置PATHPATH=$PATH:/home/hj/mybin使⽤这种⽅法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效。
2、在profile中设置PATH$ gedit /etc/profile找到export⾏,在下⾯新增加⼀⾏,内容为:exportPATH=PATH:/home/hj/mybin$。
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 csh set变量使用

linux csh set变量使用Linux的操作系统中存在不同的shell,其中一种称为C Shell(csh),它的用法和Bash等其他shell略有不同。
本文将介绍csh中的set命令,以及如何使用中括号[]定义和引用变量。
1. set命令在C Shell中,set命令用于定义或修改shell变量。
它的基本语法是:set variable_name = value其中,variable_name是要定义的变量名,value是变量的值。
例如,要定义一个名为fruits的变量并将值设置为“apple”,可以执行以下命令:set fruits = apple要将变量的值修改为“orange”,可以执行:set fruits = orange可以通过echo命令来查看变量的值:echo fruits输出结果应为“orange”。
2. 中括号在C Shell中,中括号[]用于引用变量的值。
需要注意的是,变量名和中括号之间必须有空格。
例如,要输出fruits变量的值,可以执行以下命令:echo fruits输出结果为“orange”。
中括号还可用于条件语句中,表示比较符号。
例如,要判断变量fruits的值是否为“orange”,可以执行以下代码:if ( fruits == 'orange' ) thenecho "The fruits are oranges."endif其中,双等号表示相等比较。
3. 使用中括号定义和引用变量除了使用set命令直接定义变量,还可以使用中括号定义变量,这种方法被称为数组。
数组的定义方式类似于set命令的语法,但使用中括号将变量名和索引值括起来。
例如,要定义一个名为fruits的数组,可以执行以下命令:set fruits[1] = appleset fruits[2] = orangeset fruits[3] = banana在数组中,每个元素由变量名和索引值确定。
Linux DISPLAY作用

Linux DISPLAY作用在Linux/Unix类操作系统上, DISPLA Y用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLA Y环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLA Y=:0.0使用xdpyinfo可以查看到当前显示的更详细的信息.DISPLA Y 环境变量格式如下hostname: displaynumber.screennumber,我们需要知道,在某些机器上,可能有多个显示设备共享使用同一套输入设备,例如在一台PC上连接两台CRT显示器,但是它们只共享使用一个键盘和一个鼠标。
这一组显示设备就拥有一个共同的displaynumber,而这组显示设备中的每个单独的设备则拥有自己单独的screennumber。
displaynumber和screennumber都是从零开始的数字。
这样,对于我们普通用户来说,displaynumber、screennumber 就都是0。
hostname指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, X-Deep/32等Windows平台运行的Xserver的Windows机器. 如果Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式. 使用TCP方式连接时, displaynumber为连接的端口减去6000的值, 如果displaynumber为0, 则表示连接到6000端口; 使用unix socket方式连接时则表示连接的unix socket的路径, 如果displaynumber为0, 则表示连接到/tmp/.X11-unix/X0 . screennumber则几乎总是0.如果使用su username或者su - username切换到别的用户, 并且使用命令export DISPLA Y=:0.0设置DISPLA Y环境变量, 运行图形程序(如xclock)时会收到如下错误:Xlib: connection to ":0.0" refused by serverXlib: No protocol specifiedError: Can't open display: :0.0这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令xhost +这个命令将允许别的用户启动的图形程序将图形显示在当前屏幕上.在2台Linux机器之间, 如果设置服务器端配置文件/etc/ssh/sshd_config中包含X11Forwarding no客户端配置文件/etc/ssh/ssh_config包含ForwardX11 yes则从客户端ssh到服务器端后会自动设置DISPLA Y环境变量, 允许在服务器端执行的图形程序将图形显示在客户端上. 在服务器上查看环境变量显示如下(这个结果不同的时候并不相同)DISPLA Y=localhost:10.0在客户机上用netstat -lnp可以看到有程序监听了6010端口tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 4827/1如果希望允许远程机器上的图形程序将图形显示在本地机器的Xserver上, 除了要设置远端机器的DISPLA Y环境变量以外, 还需要设置本地机器的Xserver监听相应的TCP端口. 而现在的Linux系统出于安全的考虑, 默认情况下不再监听TCP端口. 可通过修改/etc/X11/xinit/xserverrc文件, 将exec /usr/bin/X11/X -dpi 100 -nolisten tcp修改为exec /usr/bin/X11/X -dpi 100允许在直接使用startx启动图形时启动对TCP端口的监听.修改/etc/kde3/kdm/kdmrc, 将ServerArgsLocal=-nolisten tcp修改为ServerArgsLocal=允许kdm作为显示管理器时, 启动会话时监听相应的TCP端口.修改/etc/gdm/gdm.conf, 在[Security]一节增加DisallowTCP=false或者在登陆窗口选择"Options" -> "Configure Login Manager..."的Security页面, 取消"Deny TCP connections to Xserver", 允许gdm作为显示管理器时, 启动会话时监听相应的TCP端口.文章出处:/course/6_system/linux/Linuxjs/2008825/137565.ht ml附:有如下几种方法:1.rlogin、rsh等r系列命令。
linux 全局环境变量删除后 还有 仍然存在 如何解决

linux 全局环境变量删除后还有仍然存在如何解决Linux系统中,全局环境变量是指所有用户都能访问的环境变量,其设置能够影响整个系统的运行。
一般情况下,我们可以通过在/etc/profile文件或者/etc/environment文件中添加环境变量来实现全局环境变量设置。
然而,有时候我们删除全局环境变量之后,仍然会发现环境变量仍然存在的情况出现。
出现这种情况通常有以下原因:1. 系统服务未完全重启如果删除全局环境变量后,我们没有重新启动相关的系统服务,则这些服务仍然可以访问原来的环境变量,导致环境变量仍然存在。
因此,为了解决这个问题,我们可以通过执行以下命令来重启所有的系统服务:```sudo systemctl daemon-reload && sudo systemctl restart systemd-journald.service && sudo systemctl restart YOUR_SERVICE```其中YOUR_SERVICE代表你需要重启的系统服务名,比如httpd或mysql。
2. 用户级别的环境变量在Linux系统中,用户级别的环境变量是指每个用户都可以设置自己的环境变量,这些环境变量只对该用户有效。
当我们删除全局环境变量时,如果某个用户设置了相同的环境变量,则系统会先使用该用户的环境变量而不是全局环境变量。
因此,我们需要检查所有的用户环境变量,确保它们不会覆盖我们的全局环境变量。
我们可以通过执行命令:```sudo grep -rnw '/home' -e 'VARIABLE_NAME'```来查找所有用户主目录下是否存在变量名为VARIABLE_NAME的环境变量。
3. 其它应用程序的环境变量有些应用程序在启动时会读取环境变量,如果它们读取的是全局环境变量,那么即使我们删除了全局环境变量,这些应用程序也会保留它们自己的环境变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux设置环境变量的方法
Linux设置环境变量的方法:
1.在当前会话中设置环境变量:
可以使用export命令在当前Shell会话中设置环境变量,例如:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181。
这将在当前会话中设置JAVA_HOME变量为
/usr/lib/jvm/jdk1.8.0_181。
2. 在用户的.bashrc或.profile文件中设置环境变量:
如果需要在所有会话中都可以访问某个环境变量,可以在当前用户的.bashrc或.profile文件中添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181。
这将在当前用户的.bashrc或.profile文件中设置JAVA_HOME变量为/usr/lib/jvm/jdk1.8.0_181,每次登录后该变量都将被加载,并可在所有会话中使用。
3. 在全局的/etc/profile文件中设置环境变量:
如果需要在全局中设置环境变量,可以在/etc/profile文件中添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181。
这将在全局的/etc/profile文件中设置JAVA_HOME变量为
/usr/lib/jvm/jdk1.8.0_181,每次登录后该变量都将被加载,并可在所有会话中使用。
4. 使用/etc/environment文件设置环境变量:
另外一种方法是通过修改/etc/environment文件来设置环境变量:sudo vi /etc/environment。
在文件中添加如下内容:
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181。
保存后,该环境变量会在每个Shell进程中生效。
总结:
以上是Linux设置环境变量的几种方法,其中最常用的是在用户的.bashrc或.profile文件中设置环境变量,因为该方法可以使变量在所有会话中可用,且只对当前用户有效。
如果需要在全局中设置环境变量,则可以在/etc/profile文件中添加。
使用/etc/environment文件可以使变量在每个Shell进程中可用。