linux 多工程的環境變數配置方法
1概要
在我們的日常工作中。隨著我們工作的專案的增多,可能會遇到以下問題:
第一,經常需要在各個目錄間來回切換。每次來回切換,需要輸入很長的指令!
第二,不同的專案所需的配置資訊不同,而我們經常需要匯入不同的配置資訊。重複匯入配置資訊,很費時!
如果你遇到上面所說的問題,並且被這些問題所困擾。可以試試閱讀本文,希望文中的方法能幫助您解決上訴問題。本文主要就我自己在ubuntu下管理不同專案的方法進行了說明:根據不同的專案匯入不同配置;然後,可以非常方便快捷的在不同專案之間來回切換。
比如:有現在2個專案,分別是android2.3和android4.0。
(01)它們各自都有自己所需要的環境。
如:android2.3使用的是jdk1.6.26;而android4.0使用的是jdk1.6.29。
(02)它們的工作路徑不同;但是都有android、kernel、uboot等工程目錄。
想要方便的匯入配置檔案和在不同目錄中切換,我的思路是:分別給android2.3和android4.0各寫一個配置檔案,通過匯入不同的配置檔案,來匯入不同專案的環境。而匯入配置檔案的方法呢,是直接通過簡單的命令去實現。
這樣,我們需要解決的就只有2個問題:第一,編寫各個專案對應的配置檔案。第二,新增匯入配置檔案的方法。有了這個思路之後,我們便開始新增配置檔案。
2 工程android2.3
2.1 工程android2.3的工程配置檔案
android2.3的工程路徑如下:
/home/skywang/a8/gingerbread/wcdma
在工程路徑下面,有許多其他的目錄:包括“code”(程式碼)、“envsetup”(環境變數和其他指令碼工具)、“document”(文件)、“hw”(硬體相關的檔案)、“backup”(備份檔案)等。這裡重點要說明是“code”和“envsetup”。
“code”目錄包括android、kernel、uboot等3部分的程式碼檔案,它們的路徑分別如下:
/home/skywang/a8/gingerbread/wcdma/code/android
/home/skywang/a8/gingerbread/wcdma/code/kernel
/home/skywang/a8/gingerbread/wcdma/code/ubooot
“envsetup”目錄包括配置檔案ENVSETUP,路徑如下:
/home/skywang/a8/gingerbread/wcdma/envsetup/ENVSETUP
配置檔案ENVSETUP的內容如下:
###skywang add for android 2.3 bsp env###
echo "setting android2.3 bspenvironment variables..."
# 設定終端提示語
PS1='${debian_chroot:+($debian_chroot)}\u:(gingerbread)\W\$'
# 設定Java環境變數
export JAVA_HOME=/opt/jdk1.6.0_26
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 將交叉編譯工作新增道PATH中
exportPATH=$PATH:/opt/toolchains/arm-2009q3/bin
# 工程通用的目錄
project_path="/home/skywang/a8/gingerbread/wcdma"
code_path="${project_path}/code"
android_path="${code_path}/android"
kernel_path="${code_path}/kernel"
uboot_path="${code_path}/uboot"
# 路徑跳轉別名
alias cdandroid='cd ${android_path}'
alias cdkernel='cd ${kernel_path}'
alias cduboot='cd ${uboot_path}'
2.2 工程android2.3匯入工程配置檔案的方法
完成ENVSETUP之後,我們編輯使用者根目錄的.bashrc檔案,並在檔案末尾新增如下語句:
# 跳轉到gingerbread的工作目錄,並匯入gingerbread的環境變數
alias cdgingerbreadwcdma='cd/home/skywang/a8/gingerbread/wcdma/code/android; source../../envsetup/ENV_SETUP'
完成.bashrc的編輯之後,再介紹如何匯入android2.3的配置。
我們新開一個終端,並在終端中輸入”cdgingerbreadwcdma”。這樣,我們便跳轉到/home/skywang/a8/gingerbread/wcdma/code/android,並且匯入android2.3工程下的環境ENVSETP。
之後,並可以依次輸入以下命令來方便的進行目錄跳轉:
$cdandroid
$cdkernel
$cduboot
另外,我們可以通過以下命令檢查配置資訊是否生效
$echo $PS1
$echo $JAVA_HOME
$echo $CLASSPATH
$echo $PATH
示例如下圖:
3 工程android4.0
3.1 工程android4.0的工程配置檔案
在熟悉android2.3工程的配置和匯入方法之後,我們再簡要說明以下android4.0工程的配置編寫和匯入方法。實際上,主要內容與android2.3相同,只是路徑和所需配置不同。
android4.0的工程路徑如下:
/home/skywang/a8/ics/wcdma
“code”目錄包括android、kernel、uboot等3部分的程式碼檔案,它們的路徑分別如下:
/home/skywang/a8/ics/wcdma/code/android
/home/skywang/a8/ics/wcdma/code/kernel
/home/skywang/a8/ics/wcdma/code/ubooot
“envsetup”目錄包括配置檔案ENVSETUP,路徑如下:
/home/skywang/a8/ics/wcdma/envsetup/ENVSETUP
androd4.0的ENVSETUP配置檔案資訊如下:
###skywang add for android 4.0.3 bsp env###
echo "setting android4.0.3 bspenvironment variables..."
# 設定終端提示語
PS1='${debian_chroot:+($debian_chroot)}\u:(ics)\W\$'
# 設定Java環境變數
export JAVA_HOME=/opt/jdk1.6.0_29
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 將交叉編譯工作新增道PATH中
exportPATH=$PATH:/opt/toolchains/arm-2009q3/bin
# 工程通用的目錄
project_path="/home/skywang/a8/ics/wcdma"
code_path="${project_path}/code"
android_path="${code_path}/android"
kernel_path="${code_path}/kernel"
uboot_path="${code_path}/uboot"
# 路徑跳轉別名
alias cdandroid='cd ${android_path}'
alias cdkernel='cd ${kernel_path}'
alias cduboot='cd ${uboot_path}'
3.2 工程android4.0匯入工程配置檔案的方法
完成ENVSETUP之後,我們編輯使用者根目錄的.bashrc檔案,並在檔案末尾新增如下語句:
# 跳轉到ics的工作目錄,並匯入ics的環境變數
alias cdics='cd/home/skywang/a8/ics/wcdma/code/android; source ../../envsetup/ENV_SETUP'
編輯完.bashrc之後,我們便可以通過”cdics”跳轉到 /home/skywang/a8/ics/wcdma/code/android目錄,並匯入android4.0的配置。之後,就可以通過cdandroid、cdkernel、cduboot等命令在android4.0的各個專案目錄間跳轉。
4 匯入不同的工程
完成上面androd2.3和android4.0的配置檔案和匯入方法之後,我們就可以簡單的在終端通過以下方法來不會專案中來回切換。
匯入android2.3工程的方法:
cdgingerbread
匯入android4.0工程的方法:
cdics
使用示例,如下圖:
相關文章
- 【推薦】配置Linux環境變數的常用方法!Linux變數
- Linux環境變數配置Linux變數
- Linux配置環境變數$PATHLinux變數
- linux java環境變數配置LinuxJava變數
- linux工具配置環境變數Linux變數
- Linux下Java環境變數的配置LinuxJava變數
- Linux 環境變數配置全攻略Linux變數
- 如何為你的App配置多環境變數APP變數
- 【Linux】詳解六種配置Linux環境變數的方法(以centos為例)Linux變數CentOS
- 配置環境變數變數
- java 環境變數的配置Java變數
- Linux下安裝Python,以及環境變數的配置LinuxPython變數
- Flume 配置環境變數變數
- 配置JDK環境變數JDK變數
- windows配置環境變數Windows變數
- Shell配置環境變數變數
- 前端工程(vue)多環境配置方案前端Vue
- jdk在linux下安裝、配置環境變數JDKLinux變數
- linux系統安裝jdk,配置環境變數LinuxJDK變數
- Linux常用環境變數Linux變數
- [Oracle] -- 配置Oracle環境變數Oracle變數
- win10怎麼配置環境變數_win10的環境變數配置在哪裡Win10變數
- Linux設定環境變數Linux變數
- linux系統環境變數Linux變數
- java配置環境變數的錯誤Java變數
- win10系統adb環境變數配置怎麼設定_win10系統adb環境變數配置的方法Win10變數
- 如何管理你的 Linux 環境變數Linux變數
- Linux中的環境變數知多少?Linux變數
- 配置jdk環境變數win10教程_win10jdk環境變數如何配置JDK變數Win10
- vue-cli配置環境變數Vue變數
- jdk安裝,環境變數配置JDK變數
- mac配置全域性環境變數Mac變數
- nuxt3_配置環境變數UX變數
- Nuxt3環境變數配置UX變數
- JDK各版本環境變數配置JDK變數
- JDK13環境變數配置JDK變數
- mac如何配置python環境變數MacPython變數
- 環境變數的設定方法(轉)~變數
- Tomcat的下載及環境變數配置Tomcat變數