標記
$0
:指令碼檔案絕對路勁
$1-9
:小於10位置引數標記
$:大於10的位置引數標記
$#:引數總數
$*:展開成乙個從 1 開始的位置引數列表。當它被用雙引號引
起來的時候,展開成乙個由雙引號引起來的字串,包含了
所有的位置引數,每個位置引數由 shell 變數 ifs 的第乙個
字元(預設為乙個空格)分隔開。
$@:展開成乙個從 1 開始的位置引數列表。當它被用雙引號引
起來的時候,它把每乙個位置引數展開成乙個由雙引號引起
來的分開的字串。
shift:多引數列表逐一訪問
用法
每次 shift 命令執行的時候,變數 $2 的值會移動到變數 $1 中,
變數 $3 的值會移動到變數$2 中,依次類推。變數 $# 的值也會相應的減 1。
舉例#!/bin/bash
# posit-param2: script to display all arguments
count=1
while [[ $#
-gt0 ]]; do
echo
"argument $count = $1"
count=$((count + 1))
shift
done
基本語法case word in
[pattern [| pattern]...) commands ;;]...
esac
模式匹配 pattern
舉例
#!/bin/bash
read -p "enter word > "
case
$reply
in a|a) echo
"is a or a." ;;
[[:alpha:]]) echo
"is a single alphabetic character." ;;
[abc][0-9]) echo
"is a, b, or c followed by a digit." ;;
???) echo
"is three characters long." ;;
*.txt) echo
"is a word ending in '.txt'" ;;
*) echo
"is something else." ;;
esac
匹配多個測試條件#!/bin/bash
# case4-2: test a character
read -n 1 -p "type a character > "
# ;;& 用於匹配多個測試條件,匹配到乙個後繼續匹配下乙個而不是直接退出。
case $reply in
[[:upper:]]) echo "'$reply' is upper case." ;;&
[[:lower:]]) echo "'$reply' is lower case." ;;&
[[:alpha:]]) echo "'$reply' is alphabetic." ;;&
[[:digit:]]) echo "'$reply' is a digit." ;;&
[[:graph:]]) echo "'$reply' is a visible character." ;;&
[[:punct:]]) echo "'$reply' is a punctuation symbol." ;;&
[[:space:]]) echo "'$reply' is a whitespace character." ;;&
[[:xdigit:]]) echo "'$reply' is a hexadecimal digit." ;;&
esac
Android學習心得(六) 位置服務
本節主要是介紹一下gps的使用,google map和gps的結合是android上主要應用之一,android market中,此類產品所佔比例不小。我們在上節的 中新增如下內容 locationmanager lm mylocationlistener locationlistener lm l...
shell 三 位置引數
執行 shell 指令碼檔案時我們可以給它傳遞一些引數,這些引數在指令碼檔案內部可以使用 n的形式來接收,例如,1 表示第乙個引數,2 表示第二個引數,依次類推 在講解變數的命名時,我們提到 變數的名字必須以字母或者下劃線開頭,不能以數字開頭 但是位置引數卻偏偏是數字,這和變數的命名規則是相悖的,所...
神奇六位數
有乙個6位的正整數,它有個很神奇的性質 分別用2 3 4 5 6去乘它,得到的仍然是6位數,並且乘積中所包含的數字與這個6位數完全一樣!只不過是它們的順序重新排列了而已。請計算出這個6位數。這是乙個整數,請通過瀏覽器提交答案,不要填寫任何多餘的內容 比如說明性的文字 142857 include i...