溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中的shell變量和運算符指的是什么呢

發(fā)布時間:2021-11-01 09:48:52 來源:億速云 閱讀:115 作者:柒染 欄目:系統(tǒng)運維

本篇文章給大家分享的是有關(guān)Linux中的shell變量和運算符指的是什么呢,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

-本地變量  -影響變量的命令
-環(huán)境變量  -引號
-變量替換  -運算符
-位置變量  -表達(dá)式替換
-標(biāo)準(zhǔn)shell變量  -運算符的優(yōu)先級
-特殊變量

-變量:
-什么是shell變量?
-本地變量
-環(huán)境變量
-變量替換(顯示變量)
-位置變量
-標(biāo)準(zhǔn)變量
-特殊變量
-影響 變量的命令

-本地變量:
-本地變量在用戶現(xiàn)在的shell生命期的腳本中使用
-variable-name=value
-set顯示本地所有的變量
-readonly variable-name
#LOCALTEST="test"
#echo ${LOCALTEST}
test
#echo $LOCALTEST
test
#set  通過set查看變量
#exit  退出后查看一下還是否存在LOCALTEST變量
#readonly LOCALTEST
#LOCALTEST="test"
#readonly 查看當(dāng)前shell有那些只讀變量
#readonly -p
-環(huán)境變量
-環(huán)境變量用于所有用戶進(jìn)程(經(jīng)常稱為子進(jìn)程).登錄進(jìn)程稱為父進(jìn)程.shell中執(zhí)行的用戶進(jìn)程均稱為子進(jìn)程.不像本地變量(只用于現(xiàn)在的shell)環(huán)境變量可用于所有子進(jìn)程,這包括編輯器,腳本和應(yīng)用。
-$HOME/.bash_profile(/etc/profile)
-export
-env
#cat /etc/profile
#export Antiy="xi'an"
#env  然后查找變量Antiy
#export  也可以查看
#readonly Antiy 設(shè)置為只讀
#export Antiy="xidian" 看是否可以修改,會提示不可以,因為只讀了。

-變量替換:
-用變量的值替換它的名字。
-echo
-在變量名前加$,使用echo命令可以顯示單個變量取值。
#testvar="this is a test"
#echo $testvar
this is a test
#echo ${testvar}
變量替換-續(xù)
${Variable name}  顯示實際值到variable name
${Variable name:+value} 如果設(shè)置了variable name,則顯示其值value,否則,為空!
${Variable name:?value} 如果未設(shè)置variable name,顯示用戶定義錯誤信息value!
${Variable name:-value} 如果未設(shè)置variable name, 則顯示其值value
${Variable name:=value} 如果未設(shè)置variable name,設(shè)置其值,并顯示
#echo ${testvar:+"xidian"}
xidian
#echo ${testvar1:+"xidian"}
為空
#echo ${testvar1:?"no defined"}
bash:testvar1:no defined
#echo ${testvar1:-"xidian"}
#echo ${testvar:-"xidian"}
xidian
#echo ${testvar:="xidian"}
this is a test
#echo ${testvar2:="xidain"}
xidian
#echo $testvar2
xidian

-變量清除:

#echo $testvar
this is a test
#unset testvar
#echo $testvar

#echo $testvar2
#readonly testvar2
#unset testvar2
-位置變量:
-位置變量表示$0,$1,$2,... ...$9
-向腳本中使用位置參數(shù)
-向系統(tǒng)命令傳遞參數(shù)
example01:
#!/bin/bash
#parm01
echo "這是腳本的名稱:$0"
echo "這是腳本的第1個位置參數(shù):$1"
echo "這是腳本的第1個位置參數(shù):$2"
echo "這是腳本的第1個位置參數(shù):$3"
echo "這是腳本的第1個位置參數(shù):$4"
echo "這是腳本的第1個位置參數(shù):$5"
echo "這是腳本的第1個位置參數(shù):$6"
echo "這是腳本的第1個位置參數(shù):$7"
echo "這是腳本的第1個位置參數(shù):$8"
echo "這是腳本的第1個位置參數(shù):$9"
example02:
#!/bin/bash
#parm02
find   /home/shell/ -name $1 -print

-標(biāo)準(zhǔn)變量:
-bash默認(rèn)建立了一些標(biāo)準(zhǔn)環(huán)境變量,可在/etc/profile中定義。
-EXINIT
-HOME
-IFS
echo $IFS
IFS=':'
-LOGNAME
-MAIL
-MAILCHECK
-MAILPATH
-TERM
-PATH
-TZ
-PS1
#set | grep "PS"
PS1='[\u@\h \w]\$ '
PS2='>'
-PS2
-PWD
-SHELL
-MANPATH
-TERMINFO
-特殊變量:
-$# :傳遞到腳本的參數(shù)個數(shù)
-$* :以一個單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,此選項參數(shù)可超過9個。
-$$ :腳本運行的當(dāng)前進(jìn)程ID號
-$! :后臺運行的***一個進(jìn)程的進(jìn)程ID號
-$@ :與$*相同,但是使用時加引號,并在引號中返回每個參數(shù)
-$- :顯示shell使用的當(dāng)前選項,與set命令功能相同
-$? :顯示***命令的退出狀態(tài),0表示沒有錯誤,其他任何值表明有錯誤
#!/bin/bash
#parm01
echo "這是腳本的名稱:$0"
echo "這是腳本的第1個位置參數(shù):$1"
echo "這是腳本的第1個位置參數(shù):$2"
echo "這是腳本的第1個位置參數(shù):$3"
echo "這是腳本的第1個位置參數(shù):$4"
echo "這是腳本的第1個位置參數(shù):$5"
echo "這是腳本的第1個位置參數(shù):$6"
echo "這是腳本的第1個位置參數(shù):$7"
echo "這是腳本的第1個位置參數(shù):$8"
echo "這是腳本的第1個位置參數(shù):$9"
echo "顯示參數(shù)個數(shù):$#"
echo "顯示腳本全部參數(shù):$*"
echo "顯示進(jìn)程ID:$$"
echo "顯示前一命令運行后狀態(tài):$?"
影響變量的命令:
-declare
-export
-readonly
-set
-shift
-typeset
-unset
引號、雙引號、單引號、反引號、反斜杠
運算符、運算符類型

以上就是Linux中的shell變量和運算符指的是什么呢,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI