關於ubuntu下bash中環境變數

2021-05-22 06:51:22 字數 1150 閱讀 3501

現有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 可以在新立得軟體包管理器中直接搜尋後安裝或是使用終端文字命令 這樣會顯得專業些,呵...