Shell脚本函数(函数传参、递归、创建库)
生活随笔
收集整理的這篇文章主要介紹了
Shell脚本函数(函数传参、递归、创建库)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Shell腳本函數(shù)
- 一、Shell函數(shù)
- 1.Shell函數(shù)定義
- 2.函數(shù)的返回值
- return
- echo
- 二、函數(shù)傳參
- 三、函數(shù)變量的作用范圍
- 四、遞歸
- 1.階乘
- 2.遞歸目錄
- 五、創(chuàng)建庫
一、Shell函數(shù)
- 將命令序列按格式寫在一起
- 可方便重復(fù)使用命令序列
1.Shell函數(shù)定義
方法一: function 函數(shù)名 { 命令序列 }方法二: 函數(shù)名() { 命令序列 }2.函數(shù)的返回值
return表示退出函數(shù)并返回一個退出值,腳本中可以用 $ ? 變量顯示該值
使用原則:
1、函數(shù)一結(jié)束就取返回值,因?yàn)??變量只返回執(zhí)行的最后一條命令的退出狀態(tài)碼
2、退出狀態(tài)碼必須是0~255,超出時值將為除以256取余
return
echo
二、函數(shù)傳參
#!/bin/bash sum() { s=$[$1 + $2] echo $s } read -p "請輸入第一個參數(shù):" first read -p "請輸入第二個參數(shù):" second sum $first $second
三、函數(shù)變量的作用范圍
- 函數(shù)在Shell腳本中僅在當(dāng)前Shell環(huán)境中有效
- Shell腳本中變量默認(rèn)全局有效
- 將變量限定在函數(shù)內(nèi)部使用local命令
四、遞歸
1.階乘
fact() { if [ $1 -eq 1 ] thenecho 1 elselocal temp=$[$1 - 1]local result=$(fact $temp) echo $[$1 * $result] fi }read -p "請輸入:" nresult=$(fact $n)echo $result
2.遞歸目錄
#!/bin/bash listdir () { for i in $1/* doif [ -d $i ]thenecho "$2$i:"listdir $i " $2"elseecho "$2$i"fi done } read -p "請輸出目錄名:" dir listdir $dir ""
五、創(chuàng)建庫
總結(jié)
以上是生活随笔為你收集整理的Shell脚本函数(函数传参、递归、创建库)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: x58主板VS amd内存条:性能、兼容
- 下一篇: Shell数组以及排序算法