#語法一
for 變數 in 值1 值2 值3..
do程式塊兒
done
##語法二
for 變數 `命令` #注意這裡的符號,不是'',而是``
do程式塊兒
done
##語法三
for ((初始值; 迴圈控制; 變數變化))
do 程式塊兒
done
#!/bin/bash
cd /home/easadon
lslet num=0
for i in `ls /home/easadon`;
do echo "hello $i"
num=$[$num+1]
done
echo "the number of files is $num"
執行結果:
方式一:$0,$1,$2..
採用$0,$1,$2..等方式獲取指令碼命令列傳入的引數,值得注意的是,$0獲取到的是指令碼路徑以及指令碼名,後面按順序獲取引數,當引數超過10個時(包括10個),需要使用$,$....才能獲取到引數,但是一般很少會超過10個引數的情況。
方式二:getopts
語法格式:getopts [option[:]] [descprition] variable
option:表示為某個指令碼可以使用的選項
":":如果某個選項(option)後面出現了冒號(":"),則表示這個選項後面可以接引數(即一段描述資訊descprition)
variable:表示將某個選項儲存在變數variable中
例項:編寫乙個指令碼,具有三個傳入的引數,第乙個代表運算符號,接下來兩個代表要計算的數,輸出計算結果
#!/bin/bash
echo "指令碼路徑:$0"
echo "first number :$2"
echo "second number:$3"
a=$2
b=$3
while getopts ":c:d:e:f:" opt
do#c:add d:subtract e:multiply f:divide
case $opt in
c) echo "加法:$[$a+$b]"
;; d)
echo "減法:$[$a-$b]"
;; e)
echo "乘法:$[$a*$b]"
;; f)
echo "除法:$[$a/$b]"
;; ?)
echo "未知引數"
exit 1
;; esac
done
執行結果
3.設定數字區間
方式1:
方式2:`seq 1 10`
4.顏色設定
echo -e "\033[字背景顏色;字型顏色m字串\033[0m"
字背景顏色範圍:40----49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字顏色:30-----------39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
*********************************************==ansi控制碼的說明
\33[0m 關閉所有屬性
\33[1m 設定高亮度
\33[4m 下劃線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m -- \33[37m 設定前景色
\33[40m -- \33[47m 設定背景色
\33[na 游標上移n行
\33[nb 游標下移n行
\33[nc 游標右移n行
\33[nd 游標左移n行
\33[y;xh設定游標位置
\33[2j 清屏
\33[k 清除從游標到行尾的內容
\33[s 儲存游標位置
\33[u 恢復游標位置
\33[?25l 隱藏游標
\33[?25h 顯示游標
例子:編寫乙個指令碼可以控制字串的顏色輸出
scala程式設計 樣例類
樣例類在scala中是第一種特殊的類,可用於模式匹配 但在基於版本2.11.8測試中普通的類也能進行模式匹配 case class是多例的,後面需要加引數 無參也要加上括號 case object 是單例的。import scala.util.random abstract class animal...
shell程式設計100例 6 10
6 猜數字遊戲 bin bash num ra ndom echo random 100 1 echo rando mech o num while doread p 計算機生成了乙個 1 100 的隨機數,你猜 cai if cai eq num then echo 恭喜,猜對了 exit eli...
shell程式設計100例(6 10)
6 猜數字遊戲 bin bash 指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。random 為系統自帶的系統變數,值為 0 32767的隨機數 使用取餘演算法將隨機數變為 1 100 的隨機數 num rand...