久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux里設(shè)置環(huán)境變量的方法(export PATH)

 昵稱55515118 2018-11-24

1.動(dòng)態(tài)庫路徑的設(shè)置

Linux下調(diào)用動(dòng)態(tài)庫和windows不一樣.linux 可執(zhí)行程序是靠配置文件去讀取路徑的,因此有些時(shí)候需要設(shè)置路徑
具體操作如下

export LD_LIBRARY_PATH=/home/.....(動(dòng)態(tài)庫的目錄)

不過這種設(shè)置方法只是在當(dāng)前的session中有效

你可以修改配置文件實(shí)現(xiàn)任何session都有效

2.環(huán)境變量的設(shè)置

一般來說,,配置交叉編譯工具鏈的時(shí)候需要指定編譯工具的路徑,此時(shí)就需要設(shè)置環(huán)境變量,。例如我的mips-linux-gcc編譯器在“/opt/au1200_rm/build_tools/bin”目錄下,,build_tools就是我的編譯工具,則有如下三種方法來設(shè)置環(huán)境變量:

1,、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已經(jīng)設(shè)好,,可用命令export查看:
[root@localhost bin]# export
declare -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 -x LS_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=01;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 -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/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"
可以看到,環(huán)境變量已經(jīng)設(shè)好,,PATH里面已經(jīng)有了我要加的編譯器的路徑,。

2、修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

讓環(huán)境變量立即生效需要執(zhí)行如下命令:

#source /etc/profile

3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

后兩種方法一般需要重新注銷系統(tǒng)才能生效,,最后可以通過echo命令測(cè)試一下:
# echo $PATH
看看輸出里面是不是已經(jīng)有了/my_new_path這個(gè)路徑了,。
-----------------------------------------------------------------------------------

 “/bin”、“/sbin”,、“/usr/bin”,、“/usr/sbin”、“/usr/local/bin”等路徑已經(jīng)在系統(tǒng)環(huán)境變量中了,,如果可執(zhí)行文件在這幾個(gè)標(biāo)準(zhǔn)位置,,在終端命令行輸入該軟件可執(zhí)行文件的文件名和參數(shù)(如果需要參數(shù)),回車即可,。

  如果不在標(biāo)準(zhǔn)位置,,文件名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,,一個(gè)“一勞永逸”的辦法是把這個(gè)路徑加入環(huán)境變量,。命令 “PATH=$PATH:路徑”可以把這個(gè)路徑加入環(huán)境變量,但是退出這個(gè)命令行就失效了,。要想永久生效,,需要把這行添加到環(huán)境變量文件里。有兩個(gè)文件可選:“/etc/profile”和用戶主目錄下的“.bash_profile”,,“/etc/profile”對(duì)系統(tǒng)里所有用戶都有效,,用戶主目錄下的“.bash_profile”只對(duì)這個(gè)用戶有效。

  “PATH=$PATH:路徑1:路徑2:...:路徑n”,,意思是可執(zhí)行文件的路徑包括原先設(shè)定的路徑,,也包括從“路徑1”到“路徑n”的所有路徑,。當(dāng)用戶輸入一個(gè)一串字符并按回車后,shell會(huì)依次在這些路徑里找對(duì)應(yīng)的可執(zhí)行文件并交給系統(tǒng)核心執(zhí)行,。那個(gè)“$PATH”表示原先設(shè)定的路徑仍然有效,,注意不要漏掉。某些軟件可能還有“PATH”以外類型的環(huán)境變量需要添加,,但方法與此相同,,并且也需要注意“$”。

  注意,,與DOS/Window不同,UNIX類系統(tǒng)環(huán)境變量中路徑名用冒號(hào)分隔,,不是分號(hào),。另外,軟件越裝越多,,環(huán)境變量越添越多,,為了避免造成混亂,建議所有語句都添加在文件結(jié)尾,,按軟件的安裝順序添加,。

  格式如下():

  # 軟件名-版本號(hào)

  PATH=$PATH:路徑1:路徑2:...:路徑n

  其他環(huán)境變量=$其他環(huán)境變量:...

  在“profile”和“.bash_profile”中,“#”是注釋符號(hào),,寫在這里除了視覺分隔外沒有任何效果,。

  設(shè)置完畢,注銷并重新登錄,,設(shè)置就生效了,。如果不注銷,直接在shell里執(zhí)行這些語句,,也能生效,,但是作用范圍只限于執(zhí)行了這些語句的shell。

  相關(guān)的環(huán)境變量生效后,,就不必老跑到軟件的可執(zhí)行文件目錄里去操作了,。

from:http://blog.csdn.net/kpgood/archive/2009/03/07/3965446.aspx

使用linux的朋友越來越多了,在linux下做開發(fā)首先就是需要配置環(huán)境變量,,下面以配置java環(huán)境變量為例介紹三種配置環(huán)境變量的方法,。

 

1.修改/etc/profile文件

如果你的計(jì)算機(jī)僅僅作為開發(fā)使用時(shí)推薦使用這種方法,因?yàn)樗杏脩舻膕hell都有權(quán)使用這些環(huán)境變量,,可能會(huì)給系統(tǒng)帶來安全性問題,。

 

(1)用文本編輯器打開/etc/profile

 

(2)在profile文件末尾加入:

JAVA_HOME=/usr/share/jdk1.5.0_05

PATH=$JAVA_HOME/bin:$PATH

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

export JAVA_HOME

export PATH

export CLASSPATH

 

(3)重新登錄

 

注解:

a. 你要將 /usr/share/jdk1.5.0_05jdk 改為你的jdk安裝目錄

 

b. linux下用冒號(hào)“:”來分隔路徑

 

c. $PATH / $CLASSPATH / $JAVA_HOME 是用來引用原來的環(huán)境變量的值,在設(shè)置環(huán)境變量時(shí)特別要注意不能把原來的值給覆蓋掉了,這是一種常見的錯(cuò)誤,。

 

d. CLASSPATH中當(dāng)前目錄“.”不能丟,把當(dāng)前目錄丟掉也是常見的錯(cuò)誤,。

 

e. export是把這三個(gè)變量導(dǎo)出為全局變量,。

 

f. 大小寫必須嚴(yán)格區(qū)分。

 

2. 修改.bashrc文件  

這種方法更為安全,,它可以把使用這些環(huán)境變量的權(quán)限控制到用戶級(jí)別,,如果你需要給某個(gè)用戶權(quán)限使用這些環(huán)境變量,你只需要修改其個(gè)人用戶主目錄下的.bashrc文件就可以了,。

 

(1)用文本編輯器打開用戶目錄下的.bashrc文件

 

(2)在.bashrc文件末尾加入:  

set JAVA_HOME=/usr/share/jdk1.5.0_05

export JAVA_HOME

set PATH=$JAVA_HOME/bin:$PATH

export PATH

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

export CLASSPATH

 

(3)重新登錄

 

3. 直接在shell下設(shè)置變量

不贊成使用這種方法,,因?yàn)閾Q個(gè)shell,你的設(shè)置就無效了,,因此這種方法僅僅是臨時(shí)使用,,以后要使用的時(shí)候又要重新設(shè)置,比較麻煩,。

 

只需在shell終端執(zhí)行下列命令:

export JAVA_HOME=/usr/share/jdk1.5.0_05

export PATH=$JAVA_HOME/bin:$PATH

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

 

  在 linux系統(tǒng) 下,,如果你下載并安裝了應(yīng)用程序,很有可能在鍵入它的名稱時(shí)出現(xiàn)“ command not found ”的提示內(nèi)容,。如果每次都到安裝目標(biāo)文件夾內(nèi),,找到可執(zhí)行文件來進(jìn)行操作就太繁瑣了。這涉及到環(huán)境變量 PATH 的設(shè)置問題,,而 PATH 的設(shè)置也是在 linux 下定制環(huán)境變量的一個(gè)組成部分,。本文基于 RedHat 9.0 ,詳細(xì)講解了環(huán)境變量定制的問題,。

2,、變量簡介

  Linux 是一個(gè)多用戶的操作系統(tǒng)。每個(gè)用戶登錄系統(tǒng)后,,都會(huì)有一個(gè)專用的運(yùn)行環(huán)境,。通常每個(gè)用戶默認(rèn)的環(huán)境都是相同的,這個(gè)默認(rèn)環(huán)境實(shí)際上就是一組環(huán)境變量的定義,。用戶可以對(duì)自己的運(yùn)行環(huán)境進(jìn)行定制,,其方法就是修改相應(yīng)的系統(tǒng)環(huán)境變量。

3,、常見的環(huán)境變量

  $PATH:決定了shell將到哪些目錄中尋找命令或程序

  $HOME:當(dāng)前用戶主目錄

  $MAIL:是指當(dāng)前用戶的郵件存放目錄,。

  $SHELL:是指當(dāng)前用戶用的是哪種Shell。

  $HISTSIZE:是指保存歷史命令記錄的條數(shù)

  $LOGNAME:是指當(dāng)前用戶的登錄名,。

  $HOSTNAME:是指主機(jī)的名稱,,許多應(yīng)用程序如果要用到主機(jī)名的話,通常是從這個(gè)環(huán)境變量中來取得的,。

  $LANG/LANGUGE:是和語言相關(guān)的環(huán)境變量,,使用多種語言的用戶可以修改此環(huán)境變量。

  $PS1:是基本提示符,對(duì)于root用戶是#,,對(duì)于普通用戶是$,,也可以使用一些更復(fù)雜的值。

  $PS2:是附屬提示符,,默認(rèn)是“>”,。可以通過修改此環(huán)境變量來修改當(dāng)前的命令符,,比如下列命令會(huì)將提示符修改成字符串“Hello,My NewPrompt :) ”,。

    # PS1=" Hello,My NewPrompt :) "

  $IFS:輸入域分隔符。當(dāng)shell讀取輸入時(shí),,用來分隔單詞的一組字符,,它們通常是空格、制表符和換行符,。

  $0:shell腳本的名字,。

    例如,在我的Linux系統(tǒng)中:

    $ echo $0

    /bin/bash

  $#:傳遞給腳本的參數(shù)個(gè)數(shù),。

  

:shell腳本的進(jìn)程號(hào),,腳本程序通常會(huì)用它生成一個(gè)唯一的臨時(shí)文件,如/tmp/tmfile_

    例如,,在我的Linux系統(tǒng)中:

    $ echo $$

    31038               #表示當(dāng)前shell進(jìn)程號(hào)為31038  

4,、export命令

  export命令將作為他參數(shù)的變量導(dǎo)入到子shell中,并使之在子shell中有效,。export命令把自己的參數(shù)創(chuàng)建為一個(gè)環(huán)境變量,,而這個(gè)環(huán)境變量可以被其他腳本和當(dāng)前程序調(diào)用的程序看見。

  4.1 實(shí)驗(yàn) 導(dǎo)出變量

 ?。?)我們先列出腳本程序export2

    #,!/bin/sh

    echo "$foo"

    echo "$bar"

  (2)然后是腳本export1,。在這個(gè)腳本的結(jié)尾,,我們調(diào)用export2:

    #!/bin/sh

    foo="The first meta-syntactic variable"

    export bar="The second meta-syntactic variable"

    export2

  運(yùn)行這個(gè)腳本,將得到如下的輸出:

    $ export1

                                             #這是個(gè)空格,是因?yàn)樽兞縡oo在export2中不可用,,所以$foo被復(fù)制為空

    The second meta-syntactic variable

    $

  4.2 設(shè)置一個(gè)新的環(huán)境變量WELCOME

    $ export WELCOME="Hello!"
    $ echo $WELCOME
    Hello! 

 

5,、定制環(huán)境變量

  環(huán)境變量是和 Shell 緊密相關(guān)的,用戶登錄系統(tǒng)后就啟動(dòng)了一個(gè) Shell ,。對(duì)于 Linux 來說一般是 bash ,,但也可以重新設(shè)定或切換到其它的 Shell 。根據(jù)發(fā)行版本的情況,, bash 有兩個(gè)基本的系統(tǒng)級(jí)配置文件: /etc/bashrc 和 /etc/profile ,。這些配置文件包含兩組不同的變量: shell 變量和環(huán)境變量,。前者只是在特定的 shell 中固定(如 bash ),后者在不同 shell 中固定,。很明顯,, shell 變量是局部的,而環(huán)境變量是全局的,。環(huán)境變量是通過 Shell 命令來設(shè)置的,,設(shè)置好的環(huán)境變量又可以被所有當(dāng)前用戶所運(yùn)行的程序所使用。對(duì)于 bash 這個(gè) Shell 程序來說,,可以通過變量名來訪問相應(yīng)的環(huán)境變量,,通過 export 來設(shè)置環(huán)境變量。下面通過幾個(gè)實(shí)例來說明,。

  5.1 使用命令echo 顯示環(huán)境變量

  #本例使用echo顯示常見的變量HOME

  $ echo $HOME

  /home/lqm

  5.2 設(shè)置一個(gè)新的環(huán)境變量

  $ export HELLO=“Hello!”

  $ echo $HELLO

  Hello!

     5.3 使用 env 命令顯示所有的環(huán)境變量

  $ env

  SSH_AGENT_PID=1875

  HOSTNAME=lqm

  SHELL=/bin/bash

  TERM=xterm

  HISTSIZE=1000

  ……

  5.4  使用set 命令顯示所有本地定義的Shell 變量

  $ set

  BASH=/bin/bash

  ……

     5.5  使用 unset 命令來清除環(huán)境變量

  $ export TEST=“test”       # 增加一個(gè)環(huán)境變量 TEST

  $ env | grep TEST               # 此命令有輸出,,證明環(huán)境變量 TEST 已經(jīng)存在了

  TEST=test

  $ unset $TEST                   #刪除環(huán)境變量TEST

  $ env | grep TEST              # 此命令無輸出,證明環(huán)境變量 TEST 已經(jīng)存在了

  5.6  使用 readonly 命令設(shè)置只讀變量

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

  $ export TEST="Test"        # 增加一個(gè)環(huán)境變量 TEST

  $ readonly TEST                  #將環(huán)境變量TEST設(shè)為只讀

  $ unset TEST                      #會(huì)發(fā)現(xiàn)此變量不能被刪除

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

  $ TEST="New" #會(huì)發(fā)現(xiàn)此變量不能被修改

  -bash: TEST: readonly variable

  5.7  用C 程序來訪問和設(shè)置環(huán)境變量

  對(duì)于 C 程序的用戶來說,可以使用下列三個(gè)函數(shù)來設(shè)置或訪問一個(gè)環(huán)境變量,。

  getenv() 訪問一個(gè)環(huán)境變量,。輸入?yún)?shù)是需要訪問的變量名字,返回值是一個(gè)字符串,。如果所訪問的環(huán)境變量不存在,,則會(huì)返回 NULL 。

  setenv() 在程序里面設(shè)置某個(gè)環(huán)境變量的函數(shù),。

  unsetenv() 清除某個(gè)特定的環(huán)境變量的函數(shù),。

  另外,還有一個(gè)指針變量 environ ,,它指向的是包含所有的環(huán)境變量的一個(gè)列表,。下面的程序可以打印出當(dāng)前運(yùn)行環(huán)境里面的所有環(huán)境變量:

  #include <stdio.h>

  extern char**environ;

  int main ()

  {

  char**var;

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

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

  return 0;

  }

  5.8 通過修改環(huán)境變量定義文件來修改環(huán)境變量。

  需要注意的是,,一般情況下,,這僅僅對(duì)于普通用戶適用,避免修改根用戶的環(huán)境定義文件,,因?yàn)槟菢涌赡軙?huì)造成潛在的危險(xiǎn),。

  $vi /etc/bashrc      #修改shell變量 

  $vi /etc/profile       #修改環(huán)境變量定義文件

  然后編輯你的 PATH 聲明,其格式為:

  PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

  你可以自己加上指定的路徑,,中間用冒號(hào)隔開,。環(huán)境變量更改后,在用戶下次登陸時(shí)生效,如果想立刻生效,,則可執(zhí)行下面的語句:$ source .bash_profile

  需要注意的是,,最好不要把當(dāng)前路徑 “./” 放到 PATH 里,這樣可能會(huì)受到意想不到的攻擊,。完成后,,可以通過 $ echo $PATH 查看當(dāng)前的搜索路徑。這樣定制后,,就可以避免頻繁的啟動(dòng)位于 shell 搜索的路徑之外的程序了,。


轉(zhuǎn)至:http://kangyang.blog.51cto.com/471772/590840

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多