1. 程式人生 > >shell指令碼的特殊字元

shell指令碼的特殊字元

1. # 註釋作用, #! 除外 此外, 在引數替換 echo ${PATH#*:} 這裡不表示註釋, 數制轉換, 不表示註釋 echo $((2#101011)) 2. ; 命令列分隔符, 可以在一行中寫多個命令. echo hello; echo there 3. ;; 終止 case 選項 複製程式碼 程式碼如下: case “$variable” in abc) echo “\$variable = abc”;; xyz) echo “\$variable = xyz”;; esac 4. . 隱藏檔案字首 .命令等價於source . 表示當前目錄 .. 表示上一級目錄 正則表示式中作為單個字元匹配 5. “”, ‘' 雙引號, 單引號, 其中雙引號中可以引用變數, 而單引號中不行, 它們的作用是組織特殊字元 6. \ 轉義字元 7. / 檔名分隔符, 除法操作 8. ` (Esc 下邊的按鈕) 後置引用, 命令替換 9. : 空命令, 等價於 “NOP” 也可被認為是 shell 內建命令 true 作用相同 10. ! 取反操作符 != 不等於 11. * 萬能匹配符, 正則表示式中 數學乘法 ** 冪運算 12. ? 測試操作 正則表示式中, ? 匹配任意單個字元 13. $ 變數符號 正則表示式中 行結束符 ${} 引數替換 $*,[email protected] 位置引數 $? 退出狀態 $$ 程序ID 14. () 命令組, (a=hello; echo $a), 在 () 中的命令列表將作為一個子 shell 來執行. 在() 中的變數, 由於在子shell中, 所以對於指令碼剩下的部分是不可用的. 陣列初始化: array=(element1, element2, element3) 15. {xxx,yyy,zzz} 大括號擴充套件 cat {file1,file2,file3} > combined_file, 將file1,file2,file3合併在一起並重定向到commbined_file中. 大括號中不能有空格 16. {} 程式碼塊. 事實上, 這個結構建立了一個匿名的函式. 但是與函式不同的是, 在其中宣告的變數, 對於指令碼的其他部分的程式碼來說還是可見的. 複製程式碼 程式碼如下: # 程式碼塊中的內容, 外部訪問, I/O重定向    1: #!/bin/bash    2:    3: File=/etc/fstab    4:    5: # 在這個程式碼塊中的變數, 外部也可以訪問    6: {    7: read line1    8: read line2    9: } < $File   10:   11: echo "First line in $File is"   12: echo "$line1"   13: echo   14: echo "Second line in $File is"   15: echo "$line2"   16:   17: exit 0 # 將一個程式碼塊的結果儲存到檔案 17. {}\; 路徑名, 一般都是在 find 命令中使用, 注意; 用來結束find 命令序列的 –exec 18. [] test 陣列元素, 例如 array[1]=abc 字元範圍, 在正則表示式中使用 19. [[]] test 表示式本身放在[] 裡 20. (()) 數學計算擴充套件 21. >& >>& >> < 重定向 scriptname > filename 重定向指令碼的輸出到檔案中, 覆蓋原有內容 command &> filename 重定向 stdout 和 stderr 到檔案中 command >&2 重定向 stdout 和 stderr scriptname >> filename 重定向指令碼輸出到檔案中, 新增到檔案尾端, 如果沒有檔案, 則建立這個檔案. 22. << <<< 重定向, << 用在“here document”, <<< 用在“here string” 23. \<, \> 正則表示式中的單詞邊界 grep ‘\<the\>' testfile 24. | 管道, 分析前邊命令的輸出, 並將輸出作為後邊命令的輸入 25. >| 強制重定向 26. || 邏輯或 27. & 後臺執行命令, 一個命令後邊跟一個&, 將表示在後臺執行 複製程式碼 程式碼如下:    1: #!/bin/bash    2:    3: for i in 1 2 3 4 5 6 7 8 9 10    4: do    5: echo -n "$i"    6: done& 注意, for 迴圈的最後一個 done& 28. && 邏輯與

相關推薦

linux之bash指令碼特殊字元

在括號中的命令列表,將會作為一個子 shell 來執行。 在括號中的變數,由於是在子shell中,所以對於指令碼剩下的部分是不可用的。父程序,也就是指令碼本身,將不能夠讀取在子程序中建立的變數,也就是在子shell 中建立的變數 1.括號 #!/bin/bash a=

shell指令碼特殊變數意義

Shell特殊變數:Shell $0, $#, $*, [email protected], $?, $$和命令列引數 特殊變數列表 變數 含義 $0 當前指令碼的檔名 $n 傳遞給指令碼或函式的引數。n 是一個數字,表示第幾個引數。例如,第一個引數是$1,第二個引數是$2

shell指令碼expect命令send特殊字元

http://expect.sourceforge.net/FAQ.html#q54 可以用od命令檢視要傳送的字元, 1. od -c 2.輸入字元,如ctrl+],回車 3.ctrl+D 螢幕會顯示如下內容: ^] 0000000 035  \n 0000002 其

shell指令碼特殊字元

1. # 註釋作用, #! 除外 此外, 在引數替換 echo ${PATH#*:} 這裡不表示註釋, 數制轉換, 不表示註釋 echo $((2#101011)) 2. ; 命令列分隔符, 可以在一行中寫多個命令. echo hello; echo there 3. ;;

Shell特殊字元

1.Shell簡介 shell既是類Unix作業系統的命令解析器,用於解釋執行使用者輸入的一連串命令,它類似於DOS下的command和後來Windows的cmd.exe。同時shell也是一種程式設計語言。作為命令解

Linux Shell特殊字元和控制字元大全

# 註釋 表示註釋 #註釋 在引號中間和\#等表示#本身 echo ${PATH#*:} # 引數替換,不是一個註釋 echo $(( 2#101011 )) # 數制轉換,不是一個註釋 ; 分隔 命令分隔,在一行中寫多個命令 echo "aa" ; echo "bb"

Filter攔截【Request】處理特殊字元、跨站指令碼

處理類:繼承 HttpServletRequestWrapper package ***; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest

Shell輸入與輸出引數,特殊字元與位置引數

2018年11月13日 19:57:37 嶼安 閱讀數:5 標籤: Shell 輸入 輸出

shell指令碼中一些常見的特殊符號

http://linux.cn/blog-15563-5823.html 在編寫Shell指令碼時,我們需要會用到各種各樣的特殊符號,通過這些特殊符號可以使我們編寫的程式碼更加簡潔和高效,這裡給大家彙總下: 1、{} 大括號: 用法一:萬用字元擴充套件 eg: ls my_{finger,toe}s

Shell指令碼中實現將輸入的字元轉換為*

如果你需要寫一段與使用者互動,且需要輸入一些敏感資訊的(例如:使用者密碼、License等),那麼直接用printf+read的方式,就會把使用者輸入的資訊顯示在螢幕了,這是不符合資訊保安的,而且對客戶體驗來說也顯得不夠專業,所以就需要將使用者輸入的密碼轉換為*,樣式如下: please input

shell 指令碼統計資料夾下所有檔案的字元

最近寫了一些文章存放在一個資料夾下,今天想看看自己到底寫了多少內容。於是想寫一個指令碼來進行統計。最終程式碼如下: #!/bin/bash files=$(ls) all=0 for i in

Shell指令碼中的邏輯判斷、檔案目錄屬性判斷、if特殊用法 、 case判斷

Shell指令碼中的邏輯判斷在shell腳本當中很多地方都會用到邏輯判斷,判斷某一個數值,判斷某個目錄或檔案,然後針對判斷的結果再做一個操作,若沒有判斷,是無法進行一些操作的. 例如cp一些檔案,或者MV,或是刪除某個檔案,沒有判斷,寫這些命令就沒什麼意義,也就不叫作shel

shell指令碼中的特殊變數

有時候在linux上釋出專案的時候,可以把釋出操作繼承在shell指令碼中,以下記錄了一些shell指令碼的變數含義,作為備註:   shell特殊變數含義 變數 含義 $0 當前指令碼的檔名

shell 指令碼 M-BM- 字元問題

    昨天寫了一個指令碼,在本地執行,測試很多次,都沒有問題。發給別人,上傳到伺服器,在伺服器上執行就會報錯。懷疑是別人在不同的系統中複製,貼上,出現了格式和編碼的問題。      於是驗證:  

Shell指令碼學習8】Shell特殊變數:Shell $0, $#, $*, [email protected],

前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。 例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949 特殊變數列表 變數

JS防止指令碼注入(替換特殊字元

htmlEncode: (function() { var entities = { '&': '&', '>': '>', '<': '<',

shell指令碼:批量修改檔名(刪除檔名中字元)

上一篇寫過批量修改檔名(檔名中新增字元),工作中還存在這樣的需求,批量修改檔名,刪除檔名中的某些字元; 舉例如下:批量改名,刪除檔名中多餘字元 目錄下檔名為如下,要求去掉_finished。 stu_102999_1_finished.jpg stu_10

shell指令碼中的邏輯判斷 檔案目錄屬性判斷 if特殊用法 case判斷

1,shell指令碼中的邏輯判斷。語法如下: 格式1:if 條件 ; then 語句; fi 格式2:if 條件; then 語句; else 語句; fi 格式3:if …; then … ;elif …; then …; else …; fi 邏輯判斷表示式:if [ $

shell中vi替換特殊字元(製表符\t等)的方法

今天看shell教程,看了下特殊字元裡面還真不少,順便練下手 echo ------------------------------------ echo "|a\t|ab\t|abc\t|abcd\t|abcde\t|abcdef\t|" echo ---------------------------

shell指令碼及makefile中的特殊變數

shell指令碼中的特殊變數 1. $# 傳遞到指令碼的引數個數 2. $* 以一個單字串顯示所有向指令碼傳遞的引數。與位置變數不同,此選項引數可超過9個3. $$ 指令碼執行的當前程序ID號4. $! 後臺執行的最後一個程序的程序ID號5. [email p