linux定義變數
A. linux變數的定義
臨時存放數據用的
1.本地變數
本地變數就如同局部變數一樣,只在本SHELL中起作用。它不會影響到其他SHELL中的變數
2.環境變數
環境變數用於所有的用戶進程。在Linux中,登陸進程稱為父進程,shell中執行的用戶程序均稱為子進程。
3.位置參數變數在向腳本傳遞參數時,可以使用此位置變數來獲取參數。
4.特定變數參數
一些腳本運行的相關控制信息
B. linux定義一個普通變數使用命令是
你說的是shell腳本中的變數吧。
一般直接賦值,類似:
DIR=/opt/xxx
這樣就可以了
C. linux非root許可權配置環境變數
Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1 永久的:需要修改配置文件,變數永久生效。
2 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
設置變數的三種方法
1 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
命令用法如下
$ cd (進入用戶登陸目錄)
$ls –al .bash_profile(.bash_profile為隱藏文件,因此要用ls –a命令查找)
$vi .bash_profile(用vi編輯.bash_profile)
vi/home/guok/.bash.profile添加如下內容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
3 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值] 定義變數,
該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,
shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
環境變數的查看
1 使用echo命令查看單個環境變數。例如:
echo $PATH
2 使用env查看所有環境變數。例如:
env
3 使用set查看所有本地定義的環境變數。
使用unset刪除指定的環境變數
set可以設置某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
export TEST="Test..." #增加一個環境變數TEST env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
TEST=Test...
unset TEST #刪除環境變數TEST
$ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經刪除
常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$
Linux下設置和查看環境變數
https://www.cnblogs.com/qiuhong10/p/7815943.html
Linux下修改.bash_profile 文件改變PATH變數的值
https://blog.csdn.net/u011323949/article/details/79045788
D. 如何重新設置linux環境變數
方法一:
在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
要讓剛才的修改馬上生效,需要執行以下代碼
# source /etc/profile
方法二:
在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
要讓剛才的修改馬上生效,需要在用戶目錄下執行以下代碼
# source .bash_profile
方法三:
直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export變數名=變數值]定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。
例如:export PATH=/usr/local/webserver/php/bin:$PATH
E. Linux-配置環境變數
1、系統位置,/etc目錄下的bashrc、profile、environment三個文件
2、用戶目錄(root或普通用戶)下的.bashrc、.bash_profile兩個文件,注意這兩個文件前面都有點,是隱藏文件。
按變數的周期劃為永久變數和臨時性變數2種:
永久變數:通過修改配置文件,配置之後變數永久生效。
臨時性變數:使用命令如export等命令設置,設置之後馬上生效。當關閉shell的時候失效(這種主要用於測試比較多)。
按照影響范圍分為用戶變數和系統變數2種:
用戶變數(局部變數):修改的設置只對某個用戶的路徑或執行起作用;
系統變數(全局變數):影響范圍是整個系統。
export命令顯示當前系統定義的所有環境變數,運行返回結果如下:
echo $PATH命令輸出當前的PATH環境變數的值,運行返回結果如下:
直接用export命令修改PATH值 (重啟終端後配置失效)
export PATH=$PATH:/home/sphc/software/bin
該文件為當前用戶配置文件,修改後,作用於當前用戶的環境變數。
該文件為當前用戶配置文件,修改後,作用於當前用戶的環境變數。
/etc/bashrc為系統環境配置文件,需要管理員許可權(如root)或者對該文件的寫入許可權,修改後,作用於所有用戶。
/etc/profile為系統全局配置文件,需要管理員許可權或者對該文件的寫入許可權,修改後,作用於系統下所有用戶的環境變數。
/etc/environment為系統環境配置文件,需要管理員許可權或者對該文件的寫入許可權,修改後,作用於系統下所有用戶的環境變數。
F. Linux下的Shell編程變數是怎樣定義的
linux
shell變數的定義一般格式
變數名=變數值。
比如var=123
var=hello
var="hello
world"
這些都是可以的,但是變數名第一個字元不能是數字,可以是下劃線或者字母。
另外=兩邊不可以有空格。