指令碼裡學數學 函式

2021-10-12 17:29:22 字數 3192 閱讀 7003

二、函式返回值

三、函式傳參

四、函式變數作用範圍

五、函式庫

六、遞迴

將命令序列按格式寫在一起

可方便重複使用命令序列

function 函式名
函式名 (

)

return表示退出函式並返回乙個退出值,指令碼中可以用$?變數顯示該值

使用原則∶

1、函式一結束就取返回值,因為$?變數只返回執行的最後一條命令的退出狀態碼

2、退出狀態碼必須是0~255,超出時值將為除以256取餘

函式傳參裡傳的只有位置引數

[

root@pyy ~] # cat chuancan.sh

sum1()

read -p "輸入第乙個引數:" first

read -p "輸入第二個引數:" second

函式在shell指令碼中僅在當前shell環境中有效

shell指令碼中變數預設全域性有效

將變數限定在函式內部使用時使用local命令

[

root@pyy ~] # cat **bl.sh

#!/bin/bash

abc()a=

8c=9abc

echo "a等於$a"

echo "b等於$b"

每次都要寫函式會很麻煩,所以可以建立乙個函式庫,以後可以直接呼叫,不用每次都要自己寫函式

##########首先建立乙個庫:

[root@pyy ~] # cat hsk.sh

#!/bin/bash

# 函式庫

jiafa()

jianfa()

chengfa()

chufa()

[root@pyy ~] # cat hskjg.sh

#!/bin/bash

# 使用函式庫

./root/hsk.sh

read -p "請輸入第乙個引數值:" first

read -p "請輸入第二個引數值:" second

result1=`jiafa $first $second`

result2=`jianfa $first $second`

result3=`chengfa $first $second`

result4=`chufa $first $second`

echo $result1

echo $result2

echo $result3

echo $result4

##########最後執行,結果如下圖:

遞迴指函式呼叫自己本身的函式

[

root@pyy ~] # cat dg.sh

#!/bin/bash

#遞迴: 函式呼叫自己本身的函式

#階乘fact()

read -p "請輸入階乘數:" n

result=`fact $n`

echo $result

##########執行結果如下圖

#遞迴目錄

function abc

abc "/var/log"

""注:這裡$1是/

var/log,$2輸出的是空字元

執行結果有點長,這裡截了一點圖

shell指令碼裡的變數

1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...

shell指令碼裡的引號簡介

一 雙引號 使用雙引號可引用除字元 外的任意字元或字串 例 string hello world echo string print hello world echo string print hello world echo string print hello world echo 2 3 pr...

shell指令碼裡的for迴圈和while迴圈

shell 語言作為類 unix 系統的原生指令碼,有著非常實用的價值。但對於很多剛剛接觸 shell 指令碼的同學來說,搞懂 shell 語言的語法卻是一件非常困難的事情。甚至有人吐槽,或許沒有誰能清楚地說明白 shell 的語法。好了廢話不多說,下面就是for迴圈和while迴圈啦!for迴圈 ...