現有shell:env.sh
#!/bin/bash
export qtdir=/home/***/e8sdk
export tmakepath=/home/***/e8sdk/tmakelib/pwd/arm-linux-g++/
export path=/home/***/e8sdk/bin:/home/moon/e8-gcc/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/x11:/usr/x11r6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
echo qtdir=$qtdir
echo tmakepath=$tmakepath
echo path=$path
cd /media/game/e8/e8rel/mpkgbox/mpkgbox2.0pro_free
make
1.在終端執行 ./env.sh,發現輸出正常,qtdir等被改變;接著echo $qtdir,發現沒有輸出,也就說在子程序env.sh結束後變數無效了。
2. 在終端執行. ./env.sh(兩點中有空格),qtdir等被改變;接著echo $qtdir也是正常的。
3.在.bashrc檔案中加入export path=$:/home/***/e8sdk/bin:/home/***/e8-gcc/bin: 則終端啟動後自動使用了這一改變。
總結:對於一般應用可以採用2的方式shell設定環境變數(當然手動輸入也可以,如果變數少不嫌麻煩)。
參考.profile
if [ -n "$bash_version" ]; then
# include .bashrc if it exists
if [ -f "$home/.bashrc" ]; then
. "$home/.bashrc"
fifi
# set path so it includes user's private bin if it exists
if [ -d "$home/bin" ] ; then
path="$home/bin:$path"
fi
bash下的空格
bash空格的那點事 空格,乙個看不見的字元,很不起眼,也正由於不起眼,很多人經常忽略它,導致 出錯,卻還找不著北。這裡,我們來聊聊bash中空格的那點事。先了解下bash中什麼時候該用空格,什麼時候不該用。1.等號賦值兩邊不能有空格 2.命令與選項之間需要空格 3.管道兩邊空格可有可無 我們來看看...
Bash 特殊字元 下
test.sh filename 重定向 test.sh 的輸出到檔案 filename 中。如果 filename 存在的話,那麼將會被覆蓋。test.sh filename 重定向 test.sh 的 stdout 標準輸出 和 stderr 標準錯誤 到 filename 中。test.sh ...
關於ubuntu下的c 編譯
剛開始使用ubuntu下的g 編譯c 程式,這裡只是簡單說以下自己的一些小小感受吧。1.環境準備 在ubuntu中要想編譯c程式可以安裝gcc編譯器,編譯c 的話就不能使用gcc了,要使用g 編譯器。安裝gcc或是g 可以在新立得軟體包管理器中直接搜尋後安裝或是使用終端文字命令 這樣會顯得專業些,呵...