Shell變量概述
跟許多程序設計語言一樣,你可以在 bash 中創建變量。
Bash 中沒有數據類型,bash 中的變量可以保存一個數字、一個字符、一個字符串等等。同時無需提前聲明變量,給變量賦值會直接創建變量。
變量命名原則
命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭。
中間不能有空格,可以使用下劃線(_)。
不能使用標點符號。
不能使用 bash 里的關鍵字(可用 help 命令查看保留關鍵字)。
聲明變量
訪問變量的語法形式為:${var} 和 $var 。
變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界,所以推薦加花括號。
word="hello"
echo ${word}
# Output: hello
只讀變量
使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。
rword="hello"
echo ${rword}
readonly rword
# rword="bye" # 如果放開注釋,執行時會報錯
刪除變量
使用 unset 命令可以刪除變量。變量被刪除后不能再次使用。unset 命令不能刪除只讀變量。
dword="hello" # 聲明變量
echo ${dword} # 輸出變量值
變量類型
局部變量 - 局部變量是僅在某個腳本內部有效的變量。它們不能被其他的程序和腳本訪問。
環境變量 - 環境變量是對當前 shell 會話內所有的程序或腳本都可見的變量。創建它們跟創建局部變量類似,但使用的是 export 關鍵字,shell 腳本也可以定義環境變量。
常見的環境變量:
變量 描述
$HOME 當前用戶的用戶目錄
$PATH 用分號分隔的目錄列表,shell 會到這些目錄中查找命令
$PWD 當前工作目錄
$RANDOM 0 到 32767 之間的整數
$UID 數值類型,當前用戶的用戶 ID
$PS1 主要系統輸入提示符
$PS2 次要系統輸入提示符
示例-- Shell腳本
#!/usr/bin/env bash
################### 聲明變量 ###################
name="world"
echo "hello ${name}"
# Output: hello world
################### 輸出變量 ###################
folder=$(pwd)
echo "current path: ${folder}"
################### 只讀變量 ###################
readonly rword
################### 刪除變量 ###################
dword="hello" # 聲明變量
echo ${dword} # 輸出變量值
unset dword # 刪除變量
echo ${dword}
# Output: (空)
################### 系統變量 ###################
echo "UID:$UID"
echo LOGNAME:$LOGNAME
echo User:$USER
echo HOME:$HOME
echo PATH:$PATH
echo HOSTNAME:$HOSTNAME
echo SHELL:$SHELL
echo LANG:$LANG
################### 自定義變量 ###################
days=10
user="admin"
echo "$user logged in $days days age"
days=5
user="root"
# Output:
# admin logged in 10 days age
# root logged in 5 days age
################### 從變量讀取列表 ###################
colors="Red Yellow Blue"
for color in $colors
do
echo " $color"
done
審核編輯:湯梓紅
-
變量
+關注
關注
0文章
613瀏覽量
28441 -
Shell
+關注
關注
1文章
366瀏覽量
23430 -
腳本
+關注
關注
1文章
391瀏覽量
14916
原文標題:「Shell腳本」Shell腳本程序開發——變量(二)
文章出處:【微信號:嵌入式加油站,微信公眾號:嵌入式加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論