1. 程式人生 > >ROS學習一:安裝並配置ROS環境

ROS學習一:安裝並配置ROS環境

1.環境變數

(1)在Windows系統下,很多軟體安裝都需要配置環境變數,比如安裝jdk,如果不配置環境變數,在非軟體安裝的目錄下執行javac命令,將會報告找不到檔案,類似的錯誤。

(2)那什麼是環境變數?環境變數通俗講是作業系統或程式執行時候預設設定的引數,比如path路徑變數。當要執行某個命令或程式的時候預設尋找的路徑。簡單說,就是制定一個目錄,軟體執行的時候,相關的程式將會按照該目錄尋找相關檔案。

(3)在Linux 系統下,如果你下載並安裝應用程式,很有可能在鍵入它的名稱時出現“command not found”的提示內容。如果每次都到安裝目錄資料夾內,找到可執行檔案來進行操作就太繁瑣了。這涉及到環境變數path的設定問題,而path的設定也是在Linux下定製環境變數的一個組成部分。

1.1Linux export命令

用於設定或顯示環境變數。(比如我們要用一個命令,但這個命令的執行檔案不在當前目錄,這樣我們每次用的時候必須指定執行檔案的目錄,麻煩,在程式碼中先執行export,這個相當於告訴程式,執行某某東西時,需要的檔案或什麼東東在這些目錄裡)。

在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該次登陸操作。

語法:export [-fnp][變數名稱]=[變數設定值]

引數:

    -f  代表[變數名稱]中為函式名稱。 

 -n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。 

 -p  列出所有的shell賦予程式的環境變數。

例項:

(1)export -p //列出當前所有的環境變數值

(2)export MYENV //定義環境變數(此時沒有賦值,可通過export -p檢視)

(3)export MYENV=7 //定義環境變數並賦值(可通過export -p檢視)

一個變數建立時,它不會自動地為在它之後建立的shell程序所知。而命令export可以向後面的shell傳遞變數的值。當一個shell指令碼呼叫並執行時,它不會自動得到原為指令碼(呼叫者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼。     ----《UNIX教程》

可以將export [環境變數名稱]=[變數設定值]該條命令寫入到指令碼中,然後每次用source執行指令碼,比較方便。

如果不想每次都要執行一次export命令,可以將export [環境變數名稱]=[變數設定值]該條命令寫入到.bashrc檔案中(.bashrc檔案是隱藏檔案,需要用ll命令檢視到)。

通常export用於設定環境變數,檢視環境變數用 echo $變數銘 語句

1.2Linux grep命令(搜尋過濾)

Linux grep命令用於查詢檔案裡符合條件的字串,並把匹配的行打印出來(不影響原檔案內容)。

grep指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為"-",則grep指令會從標準輸入裝置讀取資料。

語法:grep [option][字串模板][檔名]

(1)如果沒有檔名就在當前目錄下所有檔案中查詢字串模板

(2)與管道符|、其他命令一起使用過濾器中的內容

例如cat gps.cpp,顯示gps.cpp的全部內容

cat gps.cpp | grep end顯示gps.cpp裡有字串end的內容