本篇文章給大家分享的是有關(guān)linux shell轉(zhuǎn)義符有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
10年積累的做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有益陽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。表示水平的制表符
表示垂直的制表符
表示后退符
表示“警告”(蜂鳴或是閃動)
翻譯成ASCII碼為八進制0xx所表示的字符
\"
表示引號(")的字面意思
1 echo "Hello" # Hello 2 echo "\"Hello\", he said." # "Hello", he said. |
\$
表示美元符($)的字面意思(如果在\$跟上變量名將不會引用變量的值)
1 echo "\$variable01" # 輸出是$variable01 |
\\
表示反斜杠(\)的字面意思
1 echo "\\" # 輸出是\ 2 3 # 然而 . . . 4 5 echo "\" # 在命令行,這句將會打印SP2變量值(譯者注:變量SP2是輸入未完成提示符),并要求你繼續(xù)輸入.. 6 # 在腳本文件里, 這句會出錯. |
反斜杠的作用要看它是否是自我轉(zhuǎn)義,被引用,或出現(xiàn)在命令替換結(jié)構(gòu)或是在here document里. 1 # 簡單的轉(zhuǎn)義和引用 2 echo \z # z 3 echo \\z # \z 4 echo '\z' # \z 5 echo '\\z' # \\z 6 echo "\z" # \z 7 echo "\\z" # \z 8 9 # 命令替換 10 echo `echo \z` # z 11 echo `echo \\z` # z 12 echo `echo \\\z` # \z 13 echo `echo \\\\z` # \z 14 echo `echo \\\\\\z` # \z 15 echo `echo \\\\\\\z` # \\z 16 echo `echo "\z"` # \z 17 echo `echo "\\z"` # \z 18 19 # Here document 20 cat <<EOF 21 \z 22 EOF # \z 23 24 cat <<EOF 25 \\z 26 EOF # \z 27 28 # 這些例子由Stéphane Chazelas提供..一個字符串賦給變量時里面的組成部分可能會被轉(zhuǎn)義,但如果單獨一個轉(zhuǎn)義字符(\)是不能賦給變量的。 1 variable=\ 2 echo "$variable" 3 # 不能工作 - 給出一個錯誤信息: 4 # test.sh: : command not found 5 # 單獨一個轉(zhuǎn)義字符是不能正確地賦給變量的. 6 # 7 # 那上面語句究竟發(fā)生了什么呢?實際上轉(zhuǎn)義符"\"轉(zhuǎn)義了新行符, 8 #+ 產(chǎn)生的作用如同 variable=echo "$variable" 9 #+ 而這是無效的變量賦值 10 11 variable=\ 12 23skidoo 13 echo "$variable" # 23skidoo 14 # 這樣就能工作,因為第二行的變量賦值是有效的 15 # 16 17 variable=\ 18 # \^ 轉(zhuǎn)義后面的空格(譯者注:粗心的讀者一定要注意上面最后的空格) 19 echo "$variable" # 空格 20 21 variable=\\ 22 echo "$variable" # \ 23 24 variable=\\\ 25 echo "$variable" 26 # 不能工作 - 產(chǎn)生一個錯誤: 27 # test.sh: \: command not found 28 # 29 # 第一個\轉(zhuǎn)義第二個\,結(jié)果只剩單獨的第三個\字符, 30 #+ 這樣又會發(fā)生上面的情況. 31 32 variable=\\\\ 33 echo "$variable" # \\ 34 # 第二和第四個\字符被轉(zhuǎn)義. 35 # 這樣不會出錯了. |
轉(zhuǎn)義一個空格可以防止一個字符串參數(shù)被分割成多個命令行參數(shù)。
1 file_list="/bin/cat /bin/gzip /bin/more /usr/bin/less /usr/bin/emacs-20.7" 2 # 文件列表作為參數(shù)傳遞給命令. 3 4 # 再加兩個參數(shù)給命令ls,一同列出文件信息. 5 ls -l /usr/X11R6/bin/xsetroot /sbin/dump $file_list 6 7 echo "-------------------------------------------------------------------------" 8 9 # 如果我們轉(zhuǎn)義上面的一對空格會發(fā)生什么? 10 ls -l /usr/X11R6/bin/xsetroot\ /sbin/dump\ $file_list 11 # 出錯: 開頭的三個文件名被連成一個文件名并傳遞給了命令'ls -l' 12 # 因為兩個轉(zhuǎn)義字符禁止了空格分割參數(shù)的作用。 |
轉(zhuǎn)義符也提供了寫一個多行命令的手段。一般地,每個單獨的行有一個不同的命令,而在一行末尾的轉(zhuǎn)義符轉(zhuǎn)義新行符,命令序列則由下一行繼續(xù)。
1 (cd /source/directory && tar cf - . ) | \ 2 (cd /dest/directory && tar xpvf -) 3 # 把Alan Cox目錄樹全部復(fù)制到另外一個目錄里, 4 # 但分為兩行可以增加可讀性. 5 6 # 你也可以用下面的命令達到一樣的效果: 7 tar cf - -C /source/directory . | 8 tar xpvf - -C /dest/directory 9 # 看看下面的注釋. 10 # (多謝,Stéphane Chazelas.) |
如果一個腳本行用一個管道線"|"結(jié)束行尾,后面可以再跟一個不必一定要的轉(zhuǎn)義符"\"。然而,好的編程習(xí)慣最好加上一個轉(zhuǎn)義符“\”。 |
1 echo "foo 2 bar" 3 #foo 4 #bar 5 6 echo 7 8 echo 'foo 9 bar' # 沒什么不同. 10 #foo 11 #bar 12 13 echo 14 15 echo foo\ 16 bar # 新行符被轉(zhuǎn)義. 17 #foobar 18 19 echo 20 21 echo "foo\ 22 bar" # 還是一樣,字符\在弱引用中還是被解釋為轉(zhuǎn)義字符 23 #foobar 24 25 echo 26 27 echo 'foo\ 28 bar' # 由于轉(zhuǎn)義符"\"在強引用符里,所以只能解釋為字面上的意思 29 #foo\ 30 #bar 31 32 # 由Stéphane Chazelas提示寫成的例子.
以上就是linux shell轉(zhuǎn)義符有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
網(wǎng)站名稱:linuxshell轉(zhuǎn)義符有哪些-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.rwnh.cn/article4/esiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、手機網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)頁設(shè)計公司、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容