首页
/
每日頭條
/
職場
/
linuxshell編程怎麼加條件
linuxshell編程怎麼加條件
更新时间:2025-12-22 08:59:08

談一談Linux中Shell編程的轉義和引用

Shell中的兩類字符

(1)、普通字符:

Shell中除了本身的字面意思外沒有其他特殊意義。

(2)、元字符:

Shell的保留字符,在Shell中有着特殊意義的專用字符。

1、轉義

指使用轉義符引用單個字符,從而使其表達單純的字符的字面含義。

Shell中的轉義符是反斜杠"\",使用轉義符的目的是使轉義符後面的字符單純地作為字符出現,而不解釋其特殊的含義。

案例1:

[root@localhost odysee]# name=odysee

[root@localhost odysee]# echo ${name}

odysee

[root@localhost odysee]# echo \${name}

${name}

解釋:

echo ${name}:

"$"作為一個特殊的字符,Shell解釋為"取出并打印name變量的值"。

案例2:

*:

一般作為的通配符使用。

例如:

查找odysee 的sh結尾的所有文件

find ~odysee/ -name "*.sh"

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)1

我現在需要它作為一個普通的*

例如:

echo 9\*9 = 81

這裡就作為一個普通的字符來使用

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)2

2、 引用

指字符串用某種符号括起來,以防止特殊字符被解析為其他意思。

Shell中的4種引用符

""[雙引号]:

又叫"部分引用"或"弱引用",可以引用出除$、``、\之外的所有字符。

即:$、反引号(`)、轉義符(\)特殊字符依然會被解析為特殊意義。

''[單引号]:

又叫"全引用"或"強引用",可以引用所有字符。

即:所有的特殊字符都不會被shell解釋。

``[反引号]:

将反引号括起來的内容解釋為系統命令。

也是命令替換的一種,将命令的标準輸出作為值賦給某個變量。

最後有補充。

\[轉義符]:

轉義符引用單個字符,從而使其表達單純的字符的字面含義。

案例1:

測試雙引号

[root@localhost home]# num=9527

[root@localhost home]# echo "${num}"

9527

[root@localhost home]# echo "\${num}"

${num}

[root@localhost home]# echo "`ls`"

odysee

stephen

userShell

比較簡單,就解釋一下echo "`ls`"

echo "`ls`":

""内的``依然表示特殊的含義,提取ls命令執行後的結果,然後在echo出來。

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)3

案例2:

測試單引号

[root@localhost home]# count=9527

[root@localhost home]# echo '${count}'

${count}

[root@localhost home]# echo '\${count}'

\${count}

單引号裡面的所有的特殊字符都不會被shell解釋。

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)4

案例3:

測試反引号

[root@localhost home]# echo `ls ~/`

anaconda-ks.cfg Desktop Documents Downloads General Music original-ks.cfg Pictures Public Templates Videos

[root@localhost home]#

提取ls ~命令執行後的結果,然後在echo出來。

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)5

3、 命令替換

指将命令的标準輸出作為值賦給某個變量,Shell編程中使用比較頻繁。

例如:

count=`ls ~/`或者count=$(ls ~/)

将ls ~/執行的結果賦值給count變量。

命令替換的兩種方式:

(1)、反引号

(2)、$()

案例:

[root@localhost home]# count=`ls ~/`

[root@localhost home]# echo ${count}

anaconda-ks.cfg Desktop Documents Downloads General Music original-ks.cfg Pictures Public Templates Videos

[root@localhost home]# num=$(ls ~/)

[root@localhost home]# echo ${num}

anaconda-ks.cfg Desktop Documents Downloads General Music original-ks.cfg Pictures Public Templates Videos

[root@localhost home]#

這兩者執行的結果是相同的

linuxshell編程怎麼加條件(談一談Linux中Shell編程的轉義和引用)6

測試完成。

歡迎大家給予寶貴的意見或者建議。

歡迎大家補充或者共享一些其他的方法。

感謝支持。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
dnf改版新幻神職業(雙幻神時代開啟)
dnf改版新幻神職業(雙幻神時代開啟)
  DNF第六輪職業平衡,将在110級版本更新,國服策劃已經明确表态,“國服110級最遲将于周年慶更新”,那麼,在110級更新和第六輪職業平衡的雙重沖擊下,哪個職業會是“國服110級超級幻神”呢?   第六輪職業平衡首先是“劍宗、劍帝、刃影(被砍8%)、男柔道、女柔道、女機械、元素爆破、鹦鹉、藍拳、巫女、精靈騎士、混沌魔靈、黑武”數據加強,其次是“暴擊率平均...
2025-12-22
涼山州脫貧攻堅個人事迹(涼山州表揚一批脫貧攻堅綜合幫扶工作先進集體和個人)
涼山州脫貧攻堅個人事迹(涼山州表揚一批脫貧攻堅綜合幫扶工作先進集體和個人)
     7月22日,涼山州脫貧攻堅綜合幫扶工作表揚大會暨決勝脫貧攻堅誓師大會在西昌召開,會議通報表揚10名“十佳綜合幫扶工作隊員”、 200名“優秀綜合幫扶工作隊員”、10個“十佳鄉鎮工作隊”、10個“十佳駐村工作隊”、10個“十佳專業技術服務隊”。   去年,省委着眼加強脫貧攻堅一線領導力量、專業力量、工作力量,舉全省之力向涼山選派綜合幫扶工作隊。一年來...
2025-12-22
托特包大容量四季包(托特包看上去精緻又時尚)
托特包大容量四季包(托特包看上去精緻又時尚)
  托特包是一種容量很大的挎包,能裝很多東西,而且在包包的兩側都有着一條帶子,或粗或細方便佩戴。   但帶子的長度都不會過長,剛好能夠被拎在手上或是挎在肩上夾在腋下,也正是因為它容量大的原因,有很多姐妹認為它就是學生黨,上班族的最好幫手。      在上學的路上,或是在通勤上班時,一款托特包是最好的選擇,而且在日常生活中和姐妹一起逛街購物的時候,也可以背上這...
2025-12-22
兼職做淘寶模特需要交費嗎(我網店模特大學期間做兼職)
兼職做淘寶模特需要交費嗎(我網店模特大學期間做兼職)
  近年來,其實有很多年輕人都希望自己能夠在畢業之後獲得非常好的發展,能夠賺取穩定收入,但是有很多的網店模特或者是電商模特,他們的收入還是蠻高的,可是一些大學生在從事這份工作之後卻選擇了退出或者轉行,那麼為什麼大多數的年輕漂亮的大學生并不願意再去從事這份工作呢?      經過了解,看到有位女大學生分享了自己的工作經曆,女大學生小李在學校期間其實就是兼職做網...
2025-12-22
柯潔圍棋比賽賽程(每個省職業棋手盤點)
柯潔圍棋比賽賽程(每個省職業棋手盤點)
  不管是過去,亦或是現在,北京、上海、江蘇和浙江都是圍棋大省。其原因有三點。   第一,圍棋氛圍濃厚,高手衆多。第二,經濟發達,為圍棋發展提供了保障。第三,有一批傑出圍棋天才影響着當地圍棋愛好者。   今天非詳細說說浙江圍棋高手。   前面說過,浙江和北京上海以及江蘇都是圍棋大省職業不僅經濟發達圍棋基數大,而且有着一幫傑出圍棋天才影響着當地圍棋愛好者。遠有...
2025-12-22
Copyright 2023-2025 - www.tftnews.com All Rights Reserved