linux環境變數介紹

2022-08-22 19:54:13 字數 2084 閱讀 1928

一 linux環境變數概念的重要性

最初用linux是為了學習機械人作業系統(ros),由於之前沒有接觸過linux,所以並不了解其中的一些關鍵概念,導致走了許多彎路,如在ros的安裝過程中,沒有理解安裝教程中的1.6 環境變數建立中的指令的意義,所以導致有時在自己工作空間建立的包會有找不到的情況。因此,本文結合ros安裝教程中的部分指令,重點介紹linux環境變數的概念及應用。

二 環境變數的概念

環境變數,就是描述環境的變數。環境就是與shell相關的會話和工作環境,變數就是可變的量。

三 變數的分類及操作

變數分為全域性變數和區域性變數;

全域性變數對shell和shell建立的子程序可見(繼承性);

區域性變數只對建立它們的shell可見(臨時性)。

區域性變數可以變為全域性變數,供其建立的子程序使用(export);

顯示全部環境變數(printenv);

顯示所有變數(set)

需要注意的是:這些自己定義的全域性變數和區域性變數在登出bash時就會失效。

四 path環境變數

path環境變數決定命令的查詢位置和path變數中的查詢順序;

為什麼是path變數中的查詢順序,因為命令執行的順序是按照以下四個方式查詢:

1 以相對/絕對路徑執行命令

2 由alias找到該命令

3 bash內建的命令

4 path變數中的順序(如你自己寫個shell檔案,可以把資料夾的路徑加入到其中)

五 環境變數配置檔案

系統環境配置檔案的作用是讓bash啟動時可直接讀取這些檔案,而不需要我們自己定義。

配置檔案分為全體系統配置檔案和個人使用者配置檔案。

六 啟動shell的不同方式

shell啟動方式不同,會啟用不同的配置檔案。

shell啟動方式分為三種:

1 登入shell(預設登入shell):需要輸入使用者賬號和密碼的shell

2 非登入shell(互動式shell):不需要輸入賬號密碼的shell

3 執行指令碼(非互動shell)

登入shell和非登入shell具體如何呼叫哪些配置檔案,本文不做說明,我們只需要知道都呼叫了環境配置檔案 ~/.bashrc 即可。

七 示例:ros安裝教程中環境變數的建立

安裝ros的官方教程,我們會發現在建立環境變數時會有給我們三種選擇:

第一種:可以在你每次在啟動新的shell時自動新增ros的環境變數

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

第二種:只是在你當前的shell中新增ros的環境變數

source /opt/ros/kinetic/setup.bash

第三種:使用的是zsh,而不是bash

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc

source ~/.zshrc

這裡我們使用前兩種進行說明。

我們上面說過自己定義的全域性變數和區域性變數在登出bash時就會失效,想讓自己定義的變數不失效的辦法:寫入配置檔案

因此,就有了ros中第一種環境變數的建立:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

第一行表示把"  "中的字串寫入到~/.bashrc中(需要登出再登陸才會生效,>> 表示資料流輸出重定向"追加",>表示"替換")

第二行表示把配置檔案讀入當前的shell中。(立即生效)

所以有ros第二種環境變數建立方法

source /opt/ros/kinetic/setup.bash

把配置檔案讀取到當前的shell中。

至此,環境變數的大部分概念都已經介紹完畢。

linux環境程式設計 環境變數 列印環境變數

在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...

linux環境變數

初次學習lliux對環境變數的知識甚是不解決,特花費乙個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!定製環境變數 環境變數是和shell緊密相關的,使用者登入系統後就啟動了乙個shell。對於linux來說一般是bash,但也可以重新設定或切換到其它的 shell。環境變數是...

Linux環境變數

好吧,我承認這篇文章是轉的.1.顯示環境變數home echo home home redbooks 2.設定乙個新的環境變數hello export hello hello echo hello hello 3.使用env命令顯示所有的環境變數 env hostname redbooks.safe...