嵌入式linux添加環境變量,Linux環境變量

前言:

1. 環境變量是操作系統環境設置的變量,適用于整個系統的用戶進程;

2. 環境變量可以在命令中設置,但是用戶注銷的時候將會丟失這些設置值;

3. 若要重復適用,則最好在.profile中定義;環境變量的使用與本地變量的使用方法相同,

4. 但是在使用之前,必須用export命令導出。

一.Linux的變量種類

按變量的生存周期來劃分,Linux變量可分為兩類:

1.永久的:需要修改配置文件,變量永久生效

2.臨時的:使用export命令聲明即可,變量在關閉shell時失效

二.Linux 環境變量文件

linux變量文件有/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc, 以及~/.bash_profile(一般是用戶在自己目錄下新建的),~/.bash_logout.

1./etc/environment:是系統在登錄時讀取的第一個文件,用于為所有進程設置環境變量。系統使用此文件時并不是執行此文件中的命令,而是根據而是根據KEY=VALUE模式的代碼,對KEY賦值以VALUE,因此文件中如果要定義PATH環境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可

2./etc/profile:此文件是系統登錄時執行的第二個文件。 為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。并從/etc/profile.d目錄的配置文件中搜集shell的設置。

(/etc/profile可以用于設定針對全系統所有用戶的環境變量,環境變量周期是永久性)

3. ~/.profile:

對應當前登錄用戶的profile文件,用于定制當前用戶的個人工作環境(變量是永久性)

4. /etc/bash.bashrc:是針對所有用戶的bash初始化文件,在此中設定的環境變量將應用于所有用戶的shell中,此文件會在用戶每次打開shell時執行一次

5.~/.bashrc:該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取。(~/.bashrc只針對當前用戶,變量的生命周期是永久的)

6.~/.bash_profile:每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。(如果~/目錄下沒有.bash_profile則新建立一個)

當一個shell關閉時,在bash_profile中定義的系統變量則會失效。因此,每打開一個新的shell時都要運行一次source bash_profile.而且針對當前用戶。

7.~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件。

說明:

1.以上這幾個文件的執行順序是/etc/enviroment–>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc

2.要使得剛修改的環境變量生效:source .bashrc

3.查看環境變量:env

4.使用readonly命令設置只讀變量,如果使用了readonly命令的話,變量就不可以被修改或清除了。

5.使用unset命令來清除環境變量

$ unset TEMP_KEVIN?? #刪除環境變量TEMP_KEVIN

三.設置變量的三種方法

1. 在/etc/profile文件中添加變量[對所有用戶生效(永久的)]

用vim在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,并且是“永久的”。

例如:編輯/etc/profile文件,添加TEST變量

# vim/etc/profile

exportTEST=JIBO

注:修改文件后要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。

2. 在用戶目錄下的.bash_profile文件中增加變量[對單一用戶生效(永久的)]

用vim在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,并且是“永久的”。

例如:編輯jibo用戶目錄(/home/jibo)下的.bash_profile

$ vi/home/jibo/.bash.profile 如果沒就更改.bashrc文件.

添加如下內容:

exportTEST=JIBO

注:修改文件后要想馬上生效還要運行

$source /home/jibo/.bash_profile不然只能在下次重進此用戶時生效。

3. 直接運行export命令定義變量(只對當前shell(BASH)有效(臨時的))

在shell的命令行下直接使用[export變量名=變量值]定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。

1>同一行鍵入2個語句,使用分號隔開

VARIABLE-NAME=value; export VARIABLE-NAME

也可以分行寫:

VARIABLE-NAME=value

export VARIABLE-NAME

4.set命令

在$HOME.profile文件中,設置環境變量時,除了export可以導出之外,還有set -a命令,可以指明所有變量直接被導出;不過別在/etc/profile中設置,在自己的$HOME.profile中設置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529484.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529484.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529484.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

eval函數linux,Python中的eval()、exec()及其相關函數

剛好前些天有人提到eval()與exec()這兩個函數,所以就翻了下Python的文檔。這里就來簡單說一下這兩個函數以及與它們相關的幾個函數,如globals()、locals()和compile():1. eval函數函數的作用:計算指定表達式的值。也就是說它要執行…

linux更改語言腳本,Linux shell腳本入門——shell語言腳本【CentOS】

認識腳本是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件。腳本語言又被稱為擴建的語言, 或者動態語言, 是一種編程語言, 用來控制軟件應用程序, 腳本通常是以文本 (ASCⅡ) 保存, 只是在被調用時進行解釋或者編譯。學習shell腳本的用途對于一個合格的系…

linux可用的ftp,linuxunix下有很多可用的ftp服務器

一、ftp服務器簡介linux/unix下有很多可用的ftp服務器,根據這些ftp服務器的可配置性大概可以分為3類:弱、中等、高。功能比較簡單的ftp服務器軟件有“ftpd”和“oftpd”。前者與ftp客戶端工具“ftp”類似,只實現了標準的ftp功能,支…

linux視圖版怎么輸入命令,分享在Linux命令下操作MySQL視圖實例代碼

視圖VIEW命令簡介:VIEW視圖就是存儲下來的SELECT語句數據1。創建視圖命令格式:創建[或更換][ALGORITHM {UNDEFINED | MERGE | 不是Temptable}][DEFINER {user | 當前用戶 }][SQL SECURITY {DEFINER | INVOKER}]VIEW view_name [(column_list)]AS selec…

寶塔linux 做負載均衡,利用BT寶塔面板做網站多服務器負載均衡圖文教程

對于我們做網站的來說,如果流量大了,一臺服務器肯定是不夠的,接下來要考慮很多方面,比如動靜分離、比如數據庫異步,比如負載均衡等等。因為我們很多新手站長都用的是BT寶塔面板,下面蝦皮路就介紹一下利用BT…

c語言程序設計移動字母,C語言程序設計模擬試題二(含答案)

C語言程序設計模擬試題二(含答案)1、下列電子郵件地址中正確的是(其中□表示空格)A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc5bfdc.html B) malinhttp://www.doczj.com/doc/2969157fa26925c52cc5bfdc.htmlC) Lin□Ma&http://www.doczj.com/doc/2969157fa2…

c語言字符串輸出瘕b,c語言課件10tt函數(1)幻燈片資料(51頁)-原創力文檔

第 5 講 ;第 8 章 函 數;引例 1;引例2b;m1cmpmax( a , b );cmpmax(int x , int y ){ int z; zx>y?x:y; return (z);};說 明;8.2 函數的調用;main( ){int i2,p; pf( i , i ); printf("%d\n",p);}int f(int a, int b){int c; if (a>b) c1; else if (a b) c0; el…

50行以上c語言程序代碼,C語言非常簡單的字符統計程序50行

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓該程序用于實現linux系統中wc命令的最簡單模式wc 命令用于統計文件中字符信息。[xxlocalhost 1.5]$ wc 01.c 02.c 03.c15 23 131 01.c13 18 127 02.c14 20 128 03.c42 61 386 總用量使用c語言寫出這種小程序。/** Name: count.c* T…

語音編碼 c語言,語音編解碼算法G.723.1在DSP - 嵌入式新聞 - 電子發燒友網

1 引言G.723.1是刪組織于1996年推出的一種低碼率的語音編碼算法標準,也是目前該組織頒布的語音壓縮標準中碼率最低的一種標準。G.723.1主要用于對語音及其它多媒體聲音信號的壓縮,目前在一些數字音視頻傳輸、高質量語音壓縮等系統中都得到廣泛應用。2 G.…

四川大學 設計專業 C語言必修,四川大學C語言2001年真題_跨考網

一、單項選擇題(在每小題的四個備選答案中,選出一個正確的答案,并將其號碼寫在答題紙上。請注意注明題號。每小題1分,共計6分)1、‘\t’表示什么?①字符串常數②標識符③變量④字符常量答案:④2、對宏定義不正確的描述是哪一個?…

大整數乘法c語言數組,很大的數相乘怎么辦?

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include&nbsp #include&nbsp using&nbsp namespace&nbsp std;int&nbsp main(int&nbsp argc,&nbsp char&nbsp *argv[]){&nbsp &nbsp&nbsp &nbsp long&nbsp i,j, c,l…

血型遺傳關系c語言編程,根據血型遺傳關系,編程實現:○1.輸入

滿意答案df4dfw5e562017.05.28采納率:51% 等級:6已幫助:106人//僅作參考#include "stdio.h"#include "conio.h"#include "stdlib.h"#include "string.h"int studentNum 0;#define MAXSTUDENT (1…

linux tcb,在Linux中從潛藏密碼遷移至tcb怎么做?

潛藏密碼作為Linux產品的既定事實標準已經有好多年了,md5密碼的運用亦是如此。但是,運用傳統的潛藏密碼要領也有不足之處,甚至md5也不像以前那么安全了。潛藏密碼文件的一個缺點就是,任意一個須要查詢個別潛藏密碼(如您的密碼)的使…

android 通話結束廣播,在Android中以編程方式結束通話

侃侃爾雅您無需成為系統應用程序。首先,com.android.internal.telephony在您的項目中創建包,并將其放入名為“ ITelephony.aidl” 的文件中:package com.android.internal.telephony; interface ITelephony { boolean endCall(); vo…

android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)網頁

/** 在桌面添加快捷方式* param icon 快捷方式圖標* param name 快捷方式名稱* param uri 快捷方式的intent Uri*/public void addShortcut(Parcelable icon, String name, Uri uri){Intent intentAddShortcut new Intent(ACTION_ADD_S…

帶nfc 的 android 華為,華為手機NFC功能,原來這么好用,不會用真可惜幾千塊錢了...

華為手機NFC功能,原來這么好用,不會用真可惜幾千塊錢了2019-05-06 17:40:259點贊12收藏6評論華為手機在國內也是數一數二的了,那么用華為手機的小伙伴,怎么能錯過華為手機中NFC的功能呢?下面就隨小編一起來了解一下吧。…

android adb apk包名,ADB命令簡單使用--查看包名、activity等

1、連接設備adb connect ip2、查看連接的設備adb devices3、安裝/卸載Android 應用adb install packagesnameadb uninstall packagesname4、查看設備安裝包名adb shell pm list packages5、查看安裝包的路勁adb shell pm path packagename6、包pull到本地adb shell pull 包路徑…

小米3升級android 6.0,可升級Android 6.0機型一覽 小米手機亮了

前不久,Android M被谷歌正式確定為6.0系統,代號Marshmallow,預計年底前發布。而對于普通用戶來說,最關心的就是自己的手機能不能升級。不過別著急,在此之前,我們不妨看看Android 6.0有哪些新功能。一、Andr…

android 開發人員模式,Android

選取月份2021 年 5 月 (9)2021 年 4 月 (11)2021 年 3 月 (7)2021 年 2 月 (7)2021 年 1 月 (7)2020 年 12 月 (10)2020 年 11 月 (8)2020 年 10 月 (8)2020 年 9 月 (6)2020 年 8 月 (7)2020 年 7 月 (12)2020 年 6 月 (10)2020 年 5 月 (14)2020 年 4 月 (10)2…

安裝華為鴻蒙,魅族選擇與鴻蒙合作,華為這下要成了?

嚯,咱們的魅族可真爭氣!眼看華為6月2日的大新聞箭在弦上蓄勢待發,一句“你好,鴻蒙”的問候,瞬間引爆了微博:具體有多熱鬧,你們瞧瞧這轉發和點贊:眾所周知,華為鴻蒙自從公…