linux命令行變數
❶ linux環境變數PATH設置
/etc/profile和/etc/bashrc都是系統級別的,修改後可以在所有用戶中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用戶級別的,修改後只會作用於當前用戶。
帶profile的文件都是需要重新進入用戶時才會生效,帶bashrc的則是打開新的shell時生效;
執行順序:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
$ echo $HOME
$ export HELLO="Hello"
$ env
¥ set
readonly TEST
之前介紹的使用 export 命令設置環境變數是在命令行中直接執行,這樣設置的環境變數在退出shell時就會失效。要想設置永久有效的環境變數就需要修改之前提到的文件。
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路徑,中間用冒號隔開
需要注意的是,最好不要把當前路徑」./」放到PATH里,這樣可能會受到意想不到的攻擊。
特點:所有用戶;永久有效;生效需要重新進入用戶
root許可權:
要想修改完文件後就立即生效,可以在命令行中執行:
# source /etc/profile
Source命令也稱為「點命令」,也就是一個點符號(.)。source命令通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄
❷ linux顯示變數命令
env --- 顯示/設置當前用戶變數
用戶變數存在於所有的shell中,與用什麼shell無關,比如:HOME,SHELL等
export --- 設置當前終端有效的臨時變數
顯示/設置當前導出成用戶變數的shell變數。《Linux就該這么學》 一起學習。
終端關閉的同時,export的變數也失效。
❸ linux命令行裡面,命令前對變數賦值
bash的語法中可以在命令前設置子進程環境變數,它影響且隻影響子進程的環境變數,而對父進程沒有影響
你的例子中,如果環境變數LANG=zh_CN.gb2312
LANG=C yum grouplist
語句中LANG=C只對yum進程產生影響,運行完成後,用戶環境變數LANG仍為原來的
❹ linux如何添加自定義變數
1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1. 永久的:需要修改配置文件,變數永久生效。
2. 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設置變數的三種方法
1. 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2. 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
3. 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值]
定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
❺ linux的echo命令使用變數。
echo " \" `$a` \" " >a.txt
這樣就可以了。
❻ linux shell腳本,怎樣變數傳遞執行結果
可以使用ip=`ifconfig eth0`命令將 ifconfig eth0的結果賦值給ip,然後進行傳遞。
注意ifconfig eth0前後的符號不是單引號 ' ,而是反引號(也有叫飄號或尖叫號的,在數字1的左邊,需在英文狀態下輸入)。
在linux命令行或者shell腳本裡面輸入以下命令:ip = `ifconfig eth0`,即可先把ifconfig eth0的值存在ip變數之內,然後再進行其他操作。例如將ifconfig eth0的結果輸入到a.txt 文檔種的命令為:
ip=`ifconfig eth0`
echo $ip >a.txt
(6)linux命令行變數擴展閱讀
linux下反引號的作用:
linux裡面反引號` `就是將反引號內的Linux命令先執行,然後將執行結果賦予變數。
例如: list=`ls -la`
是將Linux命令ls -la 賦予list,list的值就是該命令的執行結果。
❼ linux shell腳本,怎樣變數傳遞執行結果
1、shell一般都是放在/bin或者/user/bin目錄下,我們可以使用命令cat /etc/shells命令,查看當前linux系統可用的shell是什麼。