首页
/
每日頭條
/
職場
/
linuxshell編程怎麼加條件
linuxshell編程怎麼加條件
更新时间:2025-09-16 19:56:09

談一談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
推荐阅读
985碩士畢業找工作好找嗎
985碩士畢業找工作好找嗎
每年都會有不少想考研又在猶豫的學弟學妹問我,考研有用嗎?也跟不少高學曆的朋友聊過,這個“學曆”到底有什麼用。一個有趣的現象是,一般上了研的,都喜歡自嘲說,學曆啊,名校啊什麼的,都是浮雲。或者大呼後悔,說想到又“浪費”了自己幾年的光陰,很是悔...
2025-09-16
目前搬磚最強的端遊
目前搬磚最強的端遊
目前搬磚最強的端遊?以前對于遊戲搬磚,可能算是撈偏門,但是現在都是穩紮穩打了最後,決定收益的,主要還是在于一些設備你設備越多,自然收益越高市面上,可搬磚的遊戲實在太多了,隻要你專研一款,配上高等設備,一月萬八千非常輕松,下面我們就來說一說關...
2025-09-16
省考基層工作經曆怎麼界定
省考基層工作經曆怎麼界定
1、問:關于"基層工作經曆"如何理解?答:招錄職位明确要求具有基層工作經曆的,考生必須具備相應的基層工作經曆。基層工作經曆,是指在區及以下黨政機關、國有企事業單位、村(社區)組織及其他經濟組織、社會組織等工作的經曆。在軍隊團和相當團以下單位...
2025-09-16
職場中重要的是人脈還是能力
職場中重要的是人脈還是能力
我們從小被灌輸的觀念就是:千萬不要麻煩别人。所以很多人在職場上,甯願悶頭苦幹,也不想麻煩同事。其實不用怕麻煩别人,還不起人情。同事幫了自己,自己也幫一下同事,這樣不就好了嗎。好的關系,是可以相互“麻煩”的,大家彼此溫暖,相互幫助,這樣才能使...
2025-09-16
nba籃網球員名單大全
nba籃網球員名單大全
在本賽季的30支NBA球隊中,最引人關注的球隊無疑就是布魯克林籃網了。由于在今年年初成功地引進了前火箭隊的全明星後衛哈登,籃網組成了令所有NBA球隊都感到膽寒的3巨頭,這使得他們一度成為了本賽季争奪NBA總冠軍最熱門的球隊。對于很多NBA的...
2025-09-16
Copyright 2023-2025 - www.tftnews.com All Rights Reserved