Linux命令行中輸入特殊字元,比如回車、$、!、空格、單引號等,需要利用反斜杠(\)轉義特殊字元,就是把反斜杠\加在特殊字元的前面,反斜杠也被稱為轉義字元。
② linux的雙引號里的單引號
個人理解,單引號屬於強類型,引號內的內容就是文本,不支持執行LINUX命令,變數引用。雙引號支持變數引用如 echo
"$name"將會列印name變數的值,單引號直接列印的就是$name字元串。望採納
③ Linux shell 中單引號字元串裡面有單引號字元怎麼辦
Linux shell 中單引號字元串裡面有單引號字元解決:
$echo"mocha。reporter('spec')"|sed"s/'spec'/'json'/"
mocha.reporter('json')
有單引號的情況就用雙引號唄
$echo"mocha.reporter('spec')"|sed$'s/'spec'/'json'/'
mocha.reporter('json')
或者也可以這樣、加個$讓bash轉義
控制字元
轉義字元不屬於控制字元;控制字元也不屬於轉義字元。如果控制字元的定義是非圖形的字元,或者對輸出設備(列印機、文本終端)有特殊意義的字元,那麼針對這些設備的轉義字元也是控制字元。但是程序設計用的轉義字元是圖形字元,因此它們不是控制字元。相反地,大多數ASCII控制字元單獨都具有控制功能,因此它們不是轉義字元。
④ linux中雙引號單引號和不加引號的區別嗎
雙引號里可以識別變數
單引號就是純字元串
# i=111111
# echo "$i"
111111
# echo '$i'
$i
# echo $i bash
111111 bash
但是不加引號,有時候在腳本里需要區分命令和字元串,就必須加引號,養成良好習慣
⑤ 轉義字元具體怎麼用用在哪些地方
給你轉了一段有用法總結:
php中的轉義字元用法總結
\是一個轉義符,跟在\後面的第一個字元將變的沒有意義或特殊意義,什麼是變的沒有意義呢?比如'是字元串的定界符,\'的話就使它失去了定界符的意義了,變為普通的'。比如你可以通過echo '\'';輸出一個單引號',同時轉義字元\也不會顯示。
轉義字元\只在在後來是特殊符號時才有轉義的功能,而其它的時候,\也只是一個普通的字元。
這些所謂有特殊的符號包括:
1、'也就是間引號。
2、"也就是雙引號。
3、$如果在雙引號內,它就算是特殊字元,比如echo "$aa";不會輸出$aa的值,輸出的是$aa。在單引號里它不算特殊字元。
4、\n表示一個換行,在windows下看起來和回車一樣的,linux等其他系統則不是,一般上windows下按回車鍵的值等於\r\n,就是回車+換行,而linux只是換行,就是\n。
5、\r表示回車。
6、\t表示水平製表符,就是鍵盤上的Tab那個按鍵。
7、\\表示一個\。
7、\[0-7]{1,3},這是個正則的描述,就是表示1-3位的8進制數字,8進制不懂?說簡單點:表示0-7的數字,1-3位數,打個比方0,7,10,777,注意,不會出現8以上的數字,最大就是777。
8、\x[0-9A-Fa-f]{1,2},也是個正則的描述,表示1-2位的16進制數字,8進制不懂得話,16進制也是不懂的,說簡單點就是0-9,a-f(不分大小寫)的1-2位數,如1,10,F,1a,FF,最大值就是FF了。
⑥ 總結linux替換字元串的幾種方法
一)通過vi編輯器來替換。
vi/vim 中可以使用 :s 命令來替換字元串。
:s/well/good/ 替換當前行第一個 well 為 good
:s/well/good/g 替換當前行所有 well 為 good
:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第一個 well 為 good
:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good
n 為數字,若 n 為 .,表示從當前行開始到最後一行
:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第一個 well 為 good
:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#well/#good/# 替換當前行第一個 well/ 為 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin
(二)直接替換文件中的字元串。(此法不用打開文件即可替換字元串,而且可以批量替換多個文件。)
1.perl命令替換,參數含義如下:
-a 自動分隔模式,用空格分隔$_並保存到@F中。相當於@F = split 」。分隔符可以使用-F參數指定
-F 指定-a的分隔符,可以使用正則表達式
-e 執行指定的腳本。
-i<擴展名> 原地替換文件,並將舊文件用指定的擴展名備份。不指定擴展名則不備份。
-l 對輸入內容自動chomp,對輸出內容自動添加換行
-n 自動循環,相當於 while(<>) { 腳本; }
-p 自動循環+自動輸出,相當於 while(<>) { 腳本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
將所有C程序中的foo替換成bar,舊文件備份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前文件夾下lishan.txt和lishan.txt.bak中的「shan」都替換為「hua」
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
將每個文件中出現的數值都加一
2.sed命令下批量替換文件內容
格式: sed -i "s/查找欄位/替換欄位/g" `grep 查找欄位 -rl 路徑` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
s表示替換,d表示刪除
示例:sed -i "s/shan/hua/g" lishan.txt
把當前目錄下lishan.txt里的shan都替換為hua 各個Linux詳細命令介紹及應用可如下進行查找
⑦ linux變數設置當中,如 myname='$name its me'使用單引號, 變數$name將失去原有變數內容。
在編寫shell腳本網頁鏈接的時候經常會用到引號,有些時候卻老是忘記單引號和雙引號之間的區別,
所以就整理一下供以後腦子不好使了的時候前來復習一下。首先說下他們的共同點: 好像就只有
一個,就是它們都可以用來界定一個字元串,這個沒什麼好解釋的,真正需要記住的是它們區別,
所以經過整理後,它們的區別主要包括:
1)、單引號屬於強引用,它會忽略所有被引起來的字元的特殊處理,被引用起來的字元會被原封不動的使用,唯一需要注意的點是不允許引用自身;
2)、雙引號屬於弱引用,它會對一些被引起來的字元進行特殊處理,主要包括以下情況:
1:$加變數名可以取變數的值 ,比如:
[root@localhost ~]# echo '$PWD'
$PWD
[root@localhost ~]# echo "$PWD"
/root
2:反引號和$()引起來的字元會被當做命令執行後替換原來的字元,比如:
[root@localhost ~]# echo '$(echo hello world)'
$(echo hello world)
[root@localhost ~]# echo "$(echo hello world)"
hello world
[root@localhost ~]# echo '`echo hello world`'
`echo hello world`
[root@localhost ~]# echo "`echo hello world`"
hello world
3:當需要使用字元($ ` " )時必須進行轉義,也就是在前面加 ;
[root@localhost ~]# echo '$ ` " '
$ ` "
[root@localhost ~]# echo "$ ` " \"
$ ` "
⑧ 遇到特殊字元如何轉義
首先登錄進Linux系統,然後右鍵單擊選擇Open in Terminal選項,如下圖所示
綜上所述,在Linux中對特殊字元進行轉義主要用了反斜線,並且不要子啊單引號裡面使用
⑨ shell中單引號怎麼轉義
在 UNIX/Linux 系統中,關於在 SHELL 編程中的有些特殊符號,需要進行轉義,轉義符號是英文的 '\',它可以對如下特殊符號進行轉義,例如:
\" (雙引號)
\' (單引號)
\\ (代表一個西文的反斜杠: \)
等等。
⑩ linux腳本命令中加單引號什麼意思
表示按照字面意思引用所有字元。例如你的用戶名叫做aaa,則
echo
'username
$USER'
將顯示
username$USER
這13個字元(字面意思),而
echo
username$USER
將顯示
usernameaaa(經過了元字元$的轉換)。
單引號是元字元(帶有特殊含義的字元)的一種,表示強引用。與之相對,雙引號
"
表示弱引用,它會保留
美元符號$
反斜線\
反引號`
這三個元字元的特殊含義,所以
echo
"username$USER"
仍然會得到
usernameaaa。
腳本中的命令提交給shell逐條處理,而shell在處理這些命令時,需要元字元實現更豐富的功能。例如上面例子中的
$
一般用來獲得變數的值;但shell會立即解釋元字元(例如將$USER出現的地方,直接替換為
aaa),所以當我們需要保留這些元字元時,要用到單引號。