Shell 變量引用實例


初學 Shell 編程時,對變量各種引用使用不太熟悉,走了很多彎路,本文記錄變量引用的一些用法,希望對大家有所幫助。

引用

引用指將字符串用引用符號引起來,以防止特殊字符被 shell 腳本解釋為其他意義。 shell 中定義了 4 種引用符號。

引用符 名稱 說明
'' 單引號 稱全引用或弱引用,引用所有的字符
"" 雙引號 稱部分引用或強引用,引用除美元符號($)、反引號(‘)和反斜線(\)之外的所有字符。
`` 反引號 shell 把反引符中的內容解釋為系統命令
\ 反斜杠 轉義符,屏蔽下一個字符的特殊意義

實例腳本

可以使用 sh -v testVar.sh 命令來執行如下腳本,查看原始命令及輸出內容。

# 實例腳本
$ cat testVar.sh
#!/bin/bash
# 變量引用示例

var=daodaotest

## 雙引號
# 正常賦值輸出
echo "Hello $var"
# 正常賦值輸出,${} 方式
echo "Hello ${var}"
# 不會有任何輸出,shell 會去引用變量 var2 的值
echo "$var2"
# 正常輸出,推薦使用 ${} 方式來引用變量
echo "${var}2"


## 反引號
# 把 pwd 解釋為系統命令,即:先執行 pwd,再 echo 打印
echo `pwd`
# 相等於 `pwd`
echo $(pwd)
# 同理
echo `echo $var`

## 單引號
echo '單引號引用時,輸出字面內容:$var'
echo '單引號引用時,輸出字面內容:${var}'

## 轉義符
echo '使用單引號引用,不需要使用轉義符號: $、`、"、\'
echo "使用雙引號引用,需要使用轉義符號: \$、\`、\"、\\"
echo "\$var"

## 反引號嵌套單引號和雙引號
jobName=dev-daodaotest
viewName=dev
# 此處的變量 ${viewName} 其實是放在了兩對單引號中間,起到拼接的作用
name=`echo ${jobName}|awk 'BEGIN{FS="'${viewName}'-"} {print $2}'`
echo ${name}

微信公眾號:daodaotest


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM