linux中4種常用的轉義符「linux轉義字符大全」

一:擴展

其實每次你按下回車鍵時,bahs都會在執行命令前對文本進行多重的處理。舉個簡單的例子,*作為通配符的意思匹配任意多個字符,那麼當命令行中有通配符*時,在執行命令之前,bash會把*進行擴展

echo命令用於顯示文本,也就是將文本參數內容打印到標準輸出,如下echo ls

《Linux命令行大全》:1-7-透過shell看世界

那麼echo *.txt,就會把當前目錄下所有以.txt結尾的文件名顯示出來

(1)路徑名擴展

像剛才這種echo *.txt,使用通配符實現擴展的機制稱為路徑名擴展,這種功能非常靈活,可以配合通配符實現很多需求
比如找出當前目錄下所有以大寫字母開頭的文件或文件夾

《Linux命令行大全》:1-7-透過shell看世界

查看usr目錄下,眾多目錄里含有share目錄的路徑

《Linux命令行大全》:1-7-透過shell看世界

(2)波浪線擴展

其實這個大家也都知道,cd ~是回到用戶目錄,而echo ~是顯示用戶目錄

《Linux命令行大全》:1-7-透過shell看世界

(3)算數擴展

shell可以當作計算器使用。使用算數擴展要尊重這樣的格式:$((expression))

《Linux命令行大全》:1-7-透過shell看世界

算數擴展支持的算數運算符如下

《Linux命令行大全》:1-7-透過shell看世界

這裡算數擴展僅了解,更多要在後續介紹

(4)花括號擴展

用過花括號擴展的人不得不說它的強大
使用花括號擴展時,花括號內的以逗號分隔的字符會進行分別處理
比如說我要一次性創建5個文件夾分別為test_1_test,test_3_test,test_5_test,test_7_test,test_9_test,一個一個創建太過麻煩,所以可以使用花括號擴展

《Linux命令行大全》:1-7-透過shell看世界

還有更神奇的用法,如果花括號中左右兩邊中間是..,那麼他就會按照左右兩邊的規律進行處理
比如說創建26個文件夾,文件夾名字分別是26個大寫字母

《Linux命令行大全》:1-7-透過shell看世界

還比如生成1-10000的一萬個數,則可寫作echo {1..10000} > test.txt

《Linux命令行大全》:1-7-透過shell看世界

(5)參數擴展

其實參數擴展,我在另外一篇文章中就講到過了,就是如何顯示環境變量,使用到的就是ech $PATH

《Linux命令行大全》:1-7-透過shell看世界

二:引用

第一部分我們講了,$命令作為擴展的關鍵字,對命令進行擴展,但是有時會產生一些問題,比如說下圖我的目的是在屏幕上顯示 I have $5.00,但是$遇見了5,於是開始了參數擴展,但是沒有這樣類型的環境變量,所以它被替換為了空字符串,於是輸出了I have .00

《Linux命令行大全》:1-7-透過shell看世界

所以為了解決這樣的問題,shell提供了引用

(1)雙引號

雙引號是第一種引用,主要用來處理空格問題,只要文本在雙引號之中,Linux中除了$,/外,其餘特殊符號將失去意義,也就是說除了參數擴展,算數擴展外其他擴展將失效。

空格在命令行中具有很特殊的意義,空格空開的兩個字符很可能被當做為兩個參數。如果必須要創建一個名字叫做Hello World.txt的文件夾,要是按照之前的方式創建,就會創建出兩個文件夾

《Linux命令行大全》:1-7-透過shell看世界

如果把文件夾名字放在雙引號之內,將會忽略掉空格

《Linux命令行大全》:1-7-透過shell看世界

但是注意雙引號對參數擴展和算數擴展無效

《Linux命令行大全》:1-7-透過shell看世界

(2)單引號

如果要使得所有擴展都不生效,那麼就是用單引號

《Linux命令行大全》:1-7-透過shell看世界

(3)轉義字符

我相信在這裡,轉義字符就不需要我多說了吧,能看這種類型文章人,還會不知道轉義字符的作用嗎

《Linux命令行大全》:1-7-透過shell看世界

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/251385.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-13 17:23
下一篇 2024-12-13 17:23

相關推薦

發表回復

登錄後才能評論