(linux shell)第一章--小試牛刀(下),小試牛刀
文章來源: (linux shell)第一章--小試牛刀(下)
1.6 數組和關聯陣列
1.6.1 預備知識
Bash同時支援普通數組和關聯陣列,普通數組只能使用整數作為數組索引,而關聯陣列可以使用字串作為數組索引。關聯陣列在很多操作中相當有用。
1.6.2 實戰演練
定義數組的方法有很多,可以在單行中使用一列值來定義一個數組:
array_var=(1,2,3,4,5,6) #這些值將會儲存在以0為起始索引的連續位置上
另外,還可以將數組定義成一組索引-值:
array_var[0]="test1"
array_var[1]="test2"
列印出特定數組元素的內容:
echo ${array_var[0]}
以清單形式列印出數組中的所有值:
echo ${array_var[*]}
列印數組長度
echo ${#array_var[*]}
1.7 使用別名
1.7.1 預備知識
別名有多種便捷方式,可以使用函數,也可以使用alias命令
1.7.2 實戰演練
alias new_command='command sequence'
alias install='sudo apt-get install'
當然,這樣修改的別名只是暫時的,只對當前終端有效,如果想一直保持作用,可將它放入~/.bashrc中
1.8 擷取終端資訊
1.8.1 預備只是
tput和stty是兩款終端處理工具。
1.8.2 實戰演練
擷取終端的行數和列數
tput cols
tpu lines
列印出當前終端名稱:
tput longname
將游標移動到方位(100,100)處
tput cup 100 100
設定終端背景色
tput setb no(0--7)
設定文本樣式為粗體:
tput bold
刪除當前游標到行尾的所有內容:
tput ed
使用stty -echo 可以隱藏使用者輸入的內容
1.9 擷取設定日期和延時
1.9.1 實戰演練
讀取日期:
date
列印紀元時
date +%s
選項--date用於提供日期串作為輸入。但我們可以使用任意的日期格式化選項來列印輸出。將日期串作為輸入能夠過用來獲知給定的日期是星期幾
date --date 'Jan 20 2011' +%A
可以按照你的選擇列印出日期格式:
date "+%d %B %Y"
時間的延時可以用sleep sec命令
1.10 函數和參數
1.10.1 實戰演練
定義函數:
function fname() {
statements;
}
或者fname(){statments}
只需要使用某個函數名就可以調用函數:
fname
調用函數傳遞參數:
fname arg1 arg2
以下是函數讀取參數的文法:
fname() {
echo $1,$2 #訪問參數1和參數2
echo "$@" #以列表的方式一次列印所有的參數,即"$1" "$2" "$3"
echo "$*" #類似於$@,但是參數被作為單個實體,即"$1c$2c$3",c是IFS的一個字元
}
1.11 比較與測試
1.11.1 預備知識
我們可以用if,if else以及邏輯運算子來執行測試,而用一些比較子來比較資料項目。另外一個test命令也可以用來測試。
1.11.2 實戰演練
if condition; then
commands;
fi
算數比較
條件通常被放置在中括弧內,一定要注意在[或]與運算元之間有一個空格。如果忘記了這個空格,指令碼就會報錯。例如:
[ $var -eq 0 ] or [ $var -eq 1 ]
其它一些重要的操作符有:
-gt: 大於
-lt: 小於
-ge: 大於或等於
-le: 小於或等於
可以按照下面的方法結合多個條件進行測試
[ $var -ne 0 -a $var2 -gt 2 ] #邏輯與 -a
[ $var -ne 0 -o $var2 -lt 2 ] #邏輯或 -o
檔案系統相關測試:
[ -f $file_var ] #如果給定的變數包含正常的檔案路徑和檔案名稱,則返回真
[ -x $var ] #如果給定的變數包含的檔案可執行,則返回真
[ -d $var ] #如果給定的變數包含的是目錄, 則返回真
[ -e $var ] #如果給定的變數包含的檔案存在,則返回真
[ -w $var ] #如果給定的變數包含的內容可寫,則返回真
[ -d $var ] #如果給定的變數包含的內容可讀,則返回真
[ -l $var ] #如果給定的變數包含的是一個符號連結,則返回真
字串比較:
可以檢查兩個字串是否相等以及不相等:
[[ $str1 = $str2 ]] [[ $str1 != $str2 ]]
比較兩個字串之間的大小:
[[ $str1 > $str2 ]] 或者 [[ $str1 < $str2 ]]
[[ -z $str1 ]] 如果str1是Null 字元串,則返回真
[[ -n $str1 ]] 如果str1是非Null 字元串,則返回真
夢幻西遊(對於“小試牛刀”?)
那個是夢幻對60級以下0-59級的小號設計的新手技能
技能名稱
牛刀小試
使用等級
等級≤59級
使用效果
傷害單個敵人HP=自身等級+80
使用消耗
20點魔法值
特別說明
等級≤59級的玩家進入戰鬥後可以在技能中選擇該技能使用
非戰鬥狀態不會顯示該技能
夢幻西遊小試牛刀最多秒幾?
牛刀最多可以打2個怪.牛刀到50級就自動消失了.牛刀的效果跟自己的力量屬性有關.
回答完畢.