歡迎您光臨本站 註冊首頁

Bash shell的語法和結構(1)

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

shbang行

“shbang"行是腳本的第一行,它通知內核使用哪種shell解釋腳本中的行.shang行由一個#!後跟shell的完整路徑組成,后現還可以跟上各種選項以控制shell的運行方式方式. 例: #!/bin/bash 註釋 註釋由一個符號#後面跟一些描述性的說明組成,它們可以從行的任意位置開始,在行的末尾結束. 例: # this text is not 通配符 shell中有些字元的意義比較特殊,它們被稱作是shell元字元或通配符.這些字元即非數字也非字母.例如,*、?、和[]號常用於文件名擴展;<、>、2>、>>和|則用於標準I/O重定向和管道.為防止這些字元被shell解釋,它們必須被引用. 例: 文件名擴展rm *; ls ??; cat file[1-3] 顯示輸出 echo命令用於向屏幕顯示輸出.通配符必須使用反斜杠和配對引號進行轉義. 例: echo "What is your name?" 局部變數 局部變數的作用域被限定在當前shell中.當一個腳本執行結束,它們不再可用.也就是說,它們超出了作用域.內置函數declare也可以用來定議局部變數.可以創建局部變數並為其賦值. 例: variable_name=value declare variable_name=value name="John Doe" x=5 全局變數 全局變數又稱環境變數,它們由內置的export命令創建.它們為當前運行的shell及由此shell派生的所有了進程創建.當腳本結束,該全局變數超出作用域. 帶-x選項的內置函數declare也用於設置環境變數並將其作為輸出. 例: export VARIABLE_NAME=value declare -x VARIABLE_NAME=value export PATH=/bin:/usr/bin: 提取變數值 使用美元符號可以從變數中提取數值 例: echo $variable_name echo $name echo $PATH 讀取用戶輸入 read命令從用戶輸入中讀取一行並將它賦給該命令右側的一個或多個變數.read命令可以接收多個變數名,每個變數被賦予一個單詞. 例: echo "what is your name?" read name read name1 name2 ... 參數(位置參數) 可以從命令行傳遞給參數腳本.位置參量用於在腳本中得到它們的值. 例: $ scriptname arg1 arg2 arg3 ... 在腳本中: echo $1 $2 $3

位置參量 echo $* 所有位置參量 echo $# 位置參量的個數 數組(位置參數) Bourne Shell支持數組,合用位置參數也可以創建詞表.set 內置命令後跟著一系列詞,每個詞都可以通過位置來訪問.最多允許使用9個位置.內部命令shift將列表左側第一個詞從列表中移開.訪問單個詞,位置的值從1開始. 例: set word1 word2 word3 echo $1 $2 $3 顯示word1,word2和word3 set apples peaches plums echo $1 顯示列表的第一個元素 echo $2 顯示列表的第二個元素 echo $* 顯示列表中的所有元素 Bash shell還支持一種數組語法,因此其元素是通過從0開始的下標來訪問的.Bash shell數組使用declare -a命令進行創建. 例: declare -a array_name=(word1 word2 word3 ...) declare -a fruit=( apples pears plums ) echo ${fruit[0]} 命令替換 將UNIX/Linux命令的輸出賦給一個變數,或者在字元串中便用某個命令的輸出,命令由反引號引起來. 例: variable_name='command' variable_name=$( command ) echo $variable_name echo "Today is 'date'" echo "Today is $(date)"

本文出自 「FROG_HONG」 博客,請務必保留此出處http://76287.blog.51cto.com/66287/764494


[火星人 ] Bash shell的語法和結構(1)已經有746次圍觀

http://coctec.com/docs/linux/show-post-46844.html