共計 2597 個字符,預計需要花費 7 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 Linux 中的 shell 變量和運算符指的是什么呢,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
-本地變量 -影響變量的命令
-環境變量 -引號
-變量替換 -運算符
-位置變量 -表達式替換
-標準 shell 變量 -運算符的優先級
-特殊變量
-變量:
-什么是 shell 變量?
-本地變量
-環境變量
-變量替換(顯示變量)
-位置變量
-標準變量
-特殊變量
-影響 變量的命令
-本地變量:
-本地變量在用戶現在的 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 查看當前 shell 有那些只讀變量
#readonly -p
-環境變量
-環境變量用于所有用戶進程(經常稱為子進程). 登錄進程稱為父進程.shell 中執行的用戶進程均稱為子進程. 不像本地變量(只用于現在的 shell) 環境變量可用于所有子進程,這包括編輯器,腳本和應用。
-$HOME/.bash_profile(/etc/profile)
-export
-env
#cat /etc/profile
#export Antiy= xi an
#env 然后查找變量 Antiy
#export 也可以查看
#readonly Antiy 設置為只讀
#export Antiy= xidian 看是否可以修改,會提示不可以,因為只讀了。
-變量替換:
-用變量的值替換它的名字。
-echo
-在變量名前加 $, 使用 echo 命令可以顯示單個變量取值。
#testvar= this is a test
#echo $testvar
this is a test
#echo ${testvar}
變量替換-續
${Variable name} 顯示實際值到 variable name
${Variable name:+value} 如果設置了 variable name,則顯示其值 value,否則,為空!
${Variable name:?value} 如果未設置 variable name,顯示用戶定義錯誤信息 value!
${Variable name:-value} 如果未設置 variable name, 則顯示其值 value
${Variable name:=value} 如果未設置 variable name, 設置其值,并顯示
#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
-向腳本中使用位置參數
-向系統命令傳遞參數
example01:
#!/bin/bash
#parm01
echo 這是腳本的名稱:$0
echo 這是腳本的第 1 個位置參數:$1
echo 這是腳本的第 1 個位置參數:$2
echo 這是腳本的第 1 個位置參數:$3
echo 這是腳本的第 1 個位置參數:$4
echo 這是腳本的第 1 個位置參數:$5
echo 這是腳本的第 1 個位置參數:$6
echo 這是腳本的第 1 個位置參數:$7
echo 這是腳本的第 1 個位置參數:$8
echo 這是腳本的第 1 個位置參數:$9
example02:
#!/bin/bash
#parm02
find /home/shell/ -name $1 -print
-標準變量:
-bash 默認建立了一些標準環境變量,可在 /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
-特殊變量:
-$# : 傳遞到腳本的參數個數
-$* : 以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,此選項參數可超過 9 個。
-$$ : 腳本運行的當前進程 ID 號
-$! : 后臺運行的 *** 一個進程的進程 ID 號
-$@ : 與 $* 相同,但是使用時加引號,并在引號中返回每個參數
-$- : 顯示 shell 使用的當前選項,與 set 命令功能相同
-$? : 顯示 *** 命令的退出狀態,0 表示沒有錯誤,其他任何值表明有錯誤
#!/bin/bash
#parm01
echo 這是腳本的名稱:$0
echo 這是腳本的第 1 個位置參數:$1
echo 這是腳本的第 1 個位置參數:$2
echo 這是腳本的第 1 個位置參數:$3
echo 這是腳本的第 1 個位置參數:$4
echo 這是腳本的第 1 個位置參數:$5
echo 這是腳本的第 1 個位置參數:$6
echo 這是腳本的第 1 個位置參數:$7
echo 這是腳本的第 1 個位置參數:$8
echo 這是腳本的第 1 個位置參數:$9
echo 顯示參數個數:$#
echo 顯示腳本全部參數:$*
echo 顯示進程 ID:$$
echo 顯示前一命令運行后狀態:$?
影響變量的命令:
-declare
-export
-readonly
-set
-shift
-typeset
-unset
引號、雙引號、單引號、反引號、反斜杠
運算符、運算符類型
以上就是 Linux 中的 shell 變量和運算符指的是什么呢,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。