首页
/
每日頭條
/
職場
/
linuxshell編程怎麼加條件
linuxshell編程怎麼加條件
更新时间:2024-11-18 22:15:00

談一談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瞎子下個版本加強嗎(17個職業平衡性調整)
dnf瞎子下個版本加強嗎(17個職業平衡性調整)
  今日,DNF進行了版本大更新,其中就是大家期待已久的職業平衡性調整,本次的版本更新一共涉及到17個職業,下面台長就來和大家一一盤點,看看對你的職業是否有影響:   1、阿修羅  鬼印珠、無雙波、邪光波動陣、暗天波動眼、雷神之息、天雷 · 波動劍 變更為獨立攻擊。(這樣的變化等于是由百分比職業變更為固傷職業了,有望告别下水道)   心眼 技能增加5%的命中...
2024-11-18
dnf鬼劍士二覺技能欄推薦(鬼劍士全體削弱)
dnf鬼劍士二覺技能欄推薦(鬼劍士全體削弱)
  不知不覺,距離8月20日冬季發布會結束,已經有一小段時間了!這次發布會公告9月會加入的内容有很多,例如日常/周常副本減負、神話改版、罩子兵削弱,以及第3波職業平衡等等,其中要說玩家最關心的,莫過于第3波職業平衡了。這次平衡總共涉及22個職業,除了劍帝、刃影、外傳職業之外,未加強過的職業都有在其中。   策劃提前爆料氣功罩子削弱  而在這次平衡的22個職業...
2024-11-18
最溫馴的貓貓(比老闆更像老闆)
最溫馴的貓貓(比老闆更像老闆)
  試想一下,你在午後走進一間普普通通的雜貨店,首先映入眼簾的是一隻慵懶、可愛的貓咪,心情是不是會變得很好?Twitter上有一個專門收集「雜貨店店貓」照片的帳号「@Bodega Cats」,萌萌的貓咪們有時坐在貨架上,有時趴在門口,吸引着貓奴來光顧~      ▼「請自行選購商品,本喵先休息一下。」      ▼吃多了水果也會發胖嗎?      ▼「歡迎光...
2024-11-18
dnf60版本各個副本前置(DNF60版本異界回憶啟示錄)
dnf60版本各個副本前置(DNF60版本異界回憶啟示錄)
  說起DNF是大家已經在熟悉不過的網絡遊戲了,是由韓國NEOPLE開發的,于2008年在國服正式登陸,是一款免費角色扮演的2D闖關遊戲,距離至今已十餘年之久,而我們也與DNF風雨同舟十餘年,現在回憶起已是慢慢的回憶,甚至有時候還熱淚盈眶,懷念當時一起組隊刷圖升級,懷念當年一起組隊刷深淵,還念一起去PK場PK的成年往事;說道回憶各位小夥伴們還記的之前最開始的...
2024-11-18
升職加薪時什麼樣的員工最優先(容易被提拔與加薪的員工)
升職加薪時什麼樣的員工最優先(容易被提拔與加薪的員工)
  文|小蝸牛、企業首席人事官全文:620字、閱讀需2分鐘非頭條發布的本文均是抄襲  【工作題記】無論什麼時候,無論在什麼樣的公司,凡是涉及到員工升職和加薪的事情,往往都是比較糾結的事情,而且大部分情況都難以做到公平的結果。   但是企業又不能不提拔員工,從多年的從業經曆來看,最容易被公司升職和加薪的人,往往具有共同的特征,整體梳理成以下3點。      【...
2024-11-18
Copyright 2023-2024 - www.tftnews.com All Rights Reserved