shell程式設計學習以及樣例

2021-09-10 16:05:04 字數 3083 閱讀 3718

#語法一

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...