Shell指令碼程式設計篇

2022-04-09 05:12:33 字數 1280 閱讀 6624

#!/bin/bash

#斐波那契數列

#不要用遞迴,深度大於30就老火了。

function fun_test()

val=$(fun_test $1)

echo $val

#!/bin/bash

求輸入的一串數字中的最大數,最小數以及平均數(保留2位小數)

maxsum=$1

minsum=$1

sum=$1

count=$#

shift 1

while [ $# -gt 0 ];do

if [ $maxsum -lt $1 ];then

let maxsum=$1

fiif [ $minsum -gt $1 ];then

let minsum=$1

filet sum+=$1

shift

done

echo "max::" "$maxsum"

echo "min::" "$minsum"

val=`echo "scale=2;$sum/$count" | bc`

echo "pingjun::" "$val"

#!/bin/bash

#遞迴當前目錄下面所有目錄檔案。

function fun_test()

done

}fun_test .

//最好使用單引號,這更加符合標準,然後加上-e選項或者egrep。

.匹配任意乙個字元,只要在行裡面包含這個模式就會按該行展示。

匹配括號中的任意乙個字元,[abc]就只能匹配a或者b或者c乙個字元。

[-]在括號內表示範圍,echo "test" | grep -e 'tes[a-z]'

[^]在括號裡面的取相反的結果。

[[:alpha:]]匹配乙個字母。

?匹配前面的單元一次或者零次。

+匹配它前面的單元一次或者多次。

*緊跟它前面的單元匹配零次或者多次。

在-e選項中不需要使用\,表示前面這個單元重複n次,包括前面這個單元。

重複前面單元n到m次,也包括前面這個單元。

重複前面這個單元至少n次。

重複前面這個單元最多n次。

上面這四個正規表示式都是閉包的。

^匹配行首的位置。

$匹配行未的位置。

匹配單詞開始的地方。

>匹配單詞結束的地方。

<>匹配乙個單詞。

\b匹配單詞開頭或者結束的位置。

\b匹配非單詞開始或者結束的位置。

^$匹配空行的位置。

shell指令碼符號篇

hell執行指令碼 bin bash echo 這是乙個shell指令碼 shell指令碼中用 表示注釋,如果 位於第一 開頭 並且是則例外,它表 該指令碼使 後 指定的直譯器 bin sh解釋執 第一種執行方式 chmod x script.sh shell會 fork 乙個子程序並調 用 exe...

Shell 指令碼程式設計

1 執行shell的方法 指定shell bin sh 由sh執行指令碼 指令碼總是由sh解釋 顯示呼叫shell sh scriptname 在當前shell中執行指令碼 profile profile是可執行的 ksh profile profile是不可執行的 改變當前的執行環境責應輸入.pr...

Shell 指令碼程式設計

a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...