亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Shell函數的7種用法介紹

Shell函數的7種用法介紹

熱門標簽:excel地址地圖標注 百度地圖的地圖標注 百度地圖標注圖標更換 杭州機器人外呼系統 陜西電銷卡外呼系統怎么安裝 旅游地圖標注大全 佛山高德地圖標注中心 東莞電銷機器人價格一覽表 地圖標注超出范圍怎么辦

1. 在shell文件內部定義函數并引用:

復制代碼 代碼如下:

[~/shell/function]# cat factorial.sh
#!/bin/bash
function factorial
{
factorial=1
for (( i=1;i = $1;i++ ))
        do
        factorial=$[ $factorial * $i ]
        done
echo $1的階乘是:$factorial
}
echo '程序名':$0,用于求階乘
factorial $1
[~/shell/function]# ./factorial.sh 10

程序名:./factorial.sh,用于求階乘
10的階乘是:3628800

2.返回值

函數返回碼是指函數最后一條命令的狀態碼,可以用于函數返回值
使用return命令手動指定返回值:

復制代碼 代碼如下:

[~/shell/function]# cat return.sh
#!/bin/bash
function fun1 {
  read -p "enter a: " a
  echo -n "print 2a: "
  return $[ $a * 2 ]
}
fun1
echo "return value $?"
[~/shell/function]# ./return.sh
enter a: 100
print 2a: return value 200

由于shell狀態碼最大是255,所以當返回值大于255時會出錯。

復制代碼 代碼如下:

[~/shell/function]# ./return.sh
enter a: 200
print 2a: return value 144

3.函數輸出

為了返回大于255的數、浮點數和字符串值,最好用函數輸出到變量:

復制代碼 代碼如下:

[~/shell/function]# cat ./fun_out.sh
#!/bin/bash
function fun2 {
  read -p "enter a: " a
  echo -n "print 2a: "
  echo $[ $a * 2 ]
}
result=`fun2`
echo "return value $result"
[~/shell/function]# ./fun_out.sh    
enter a: 400
return value print 2a: 800

4.向函數傳遞參數(使用位置參數):

復制代碼 代碼如下:

[~/shell/function]# cat ./parameter.sh
#!/bin/bash
if [ $# -ne 3 ]
then
    echo "usage: $0 a b c"
    exit
fi
fun3() {
    echo $[ $1 * $2 * $3 ]
}
result=`fun3 $1 $2 $3`
echo the result is $result
[~/shell/function]# ./parameter.sh  1 2 3
the result is 6
[~/shell/function]# ./parameter.sh  1 2
usage: ./parameter.sh a b c

5.全局變量與局部變量

默認條件下,在函數和shell主體中建立的變量都是全局變量,可以相互引用,當shell主體部分與函數部分擁有名字相同的變量時,可能會相互影響,例如:

復制代碼 代碼如下:

[~/shell/function]# cat ./variable.sh   
#!/bin/bash
if [ $# -ne 3 ]
then
    echo "usage: $0 a b c"
    exit
fi
temp=5
value=6
echo temp is: $temp
echo value is: $value
fun3() {
    temp=`echo "scale=3;$1*$2*$3" | bc -ql`  
    result=$temp
}
fun3 $1 $2 $3
echo "the result is $result"
if [ `echo "$temp > $value" | bc -ql` -ne 0 ]
then
    echo "temp is larger"
else
    echo "temp is still smaller"
fi
[~/shell/function]# ./variable.sh  12 3 2
temp is: 5
value is: 6
the result is 72
temp is larger

在這種情況下,在函數內部最好使用局部變量,消除影響。

復制代碼 代碼如下:

[~/shell/function]# cat ./variable.sh
#!/bin/bash
if [ $# -ne 3 ]
then
    echo "usage: $0 a b c"
    exit
fi
temp=5
value=6
echo temp is: $temp
echo value is: $value
fun3() {
    local temp=`echo "scale=3;$1*$2*$3" | bc -ql`  
    result=$temp
}
fun3 $1 $2 $3
echo "the result is $result"
if [ `echo "$temp > $value" | bc -ql` -ne 0 ]
then
    echo "temp is larger"
else
    echo "temp is still smaller"
fi
[~/shell/function]# ./variable.sh  12 3 2
temp is: 5
value is: 6
the result is 72
temp is still smaller

6.向函數傳遞數組變量:

復制代碼 代碼如下:

[~/shell/function]# cat array.sh
#!/bin/bash
a=(11 12 13 14 15)
echo ${a[*]}
function array(){
  echo parameters : "$@"
  local factorial=1
  for value in "$@"
  do
    factorial=$[ $factorial * $value ]
  done
  echo $factorial
}
array ${a[*]}
[~/shell/function]# ./array.sh
11 12 13 14 15
parameters : 11 12 13 14 15
360360

7.函數返回數組變量

復制代碼 代碼如下:

[~/shell/function]# cat array1.sh
#!/bin/bash
a=(11 12 13 14 15)
function array(){
  echo parameters : "$@"
  local newarray=(`echo "$@"`)
  local element="$#"
  local i
  for (( i = 0; i $element; i++ ))
  {
    newarray[$i]=$[ ${newarray[$i]} * 2 ]   
  }
  echo  new value:${newarray[*]}
}
result=`array ${a[*]}`
echo ${result[*]}
[~/shell/function]# ./array1.sh
parameters : 11 12 13 14 15 new value:22 24 26 28 30

您可能感興趣的文章:
  • Shell中關于時間和日期的函數總結
  • Linux 在Shell腳本中使用函數實例詳解
  • shell 使用數組作為函數參數的方法(詳解)
  • Shell使用Epoch進行日期時間轉換和計算的幾個小函數
  • Linux Shell函數返回值
  • shell中函數的應用
  • PowerShell中的函數重載示例
  • Shell中函數返回值超出問題
  • Shell腳本中使用function(函數)示例
  • 淺談Shell中的函數

標簽:朝陽 通遼 青島 南充 西藏 隨州 雅安 延邊

巨人網絡通訊聲明:本文標題《Shell函數的7種用法介紹》,本文關鍵詞  Shell,函數,的,7種,用法,介紹,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell函數的7種用法介紹》相關的同類信息!
  • 本頁收集關于Shell函數的7種用法介紹的相關信息資訊供網民參考!
  • 推薦文章
    四虎久久精品国产| 午夜在线亚洲| 国产网站在线| 亚洲 激情| 精品国产一区二区三区久| 精品国产一区二区三区久久久狼| 999精品在线| 欧美另类videosbestsex久久| 一级片免费在线观看视频| 亚飞与亚基在线观看| 韩国三级视频网站| 国产成人啪精品| 国产美女在线一区二区三区| 精品国产三级a∨在线观看| 欧美一级视频高清片| 一级女性大黄生活片免费| 日韩一级黄色大片| 欧美另类videosbestsex久久 | 精品在线观看一区| 日韩在线观看网站| 九九干| 色综合久久天天综合观看| 日韩中文字幕一区| 精品在线观看一区| 日日夜夜婷婷| 国产综合成人观看在线| 国产不卡在线观看视频| 免费国产一级特黄aa大片在线| 你懂的日韩| 91麻豆精品国产自产在线| 欧美日本免费| 欧美激情伊人| 91麻豆精品国产自产在线| 国产伦精品一区二区三区无广告| 精品久久久久久中文字幕一区| 精品视频在线观看免费| 91麻豆精品国产高清在线| 精品国产亚洲人成在线| 国产精品123| 青青久久精品| 国产伦理精品| 中文字幕一区二区三区 精品| 日韩中文字幕一区| 欧美另类videosbestsex久久 | 麻豆午夜视频| 久草免费资源| 超级乱淫伦动漫| 成人a大片在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 午夜久久网| 久久国产一区二区| 久久精品免视看国产成人2021| 久久久久久久免费视频| 韩国毛片基地| 日本在线不卡视频| 国产综合91天堂亚洲国产| 久久久久久久男人的天堂| 欧美激情一区二区三区视频| 久草免费在线色站| 一级毛片看真人在线视频| 韩国毛片免费大片| 天天做人人爱夜夜爽2020| 欧美激情一区二区三区视频高清 | 精品视频免费观看| 中文字幕一区二区三区 精品| 黄视频网站免费| 久久国产影院| 日韩av片免费播放| 可以在线看黄的网站| 国产精品自拍一区| 欧美激情一区二区三区视频| 欧美a免费| 欧美a免费| 免费毛片播放| 国产伦精品一区二区三区无广告 | 成人影视在线观看| 欧美1区2区3区| 国产不卡在线观看| 国产一区二区精品| 黄视频网站在线看| 黄色福利| 天天做日日爱夜夜爽| 国产91精品露脸国语对白| 欧美α片无限看在线观看免费| 欧美激情一区二区三区在线播放| 青青久久网| 欧美另类videosbestsex高清| 国产不卡在线看| 亚洲精品久久久中文字| 成人av在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 午夜欧美成人久久久久久| 日本在线不卡视频| 青青青草视频在线观看| 久久国产精品自线拍免费| 国产视频一区二区在线观看| 一级女性全黄生活片免费| 日本在线播放一区| 国产不卡在线观看| 精品视频在线观看一区二区三区| 可以免费在线看黄的网站| 国产国产人免费视频成69堂| 欧美激情一区二区三区在线播放 | 日本特黄特黄aaaaa大片 | 亚欧成人乱码一区二区| 麻豆系列 在线视频| 久久国产影院| 免费国产在线观看不卡| 欧美激情一区二区三区视频高清 | 四虎久久影院| 成人av在线播放| 国产麻豆精品| 欧美日本二区| 九九精品影院| 青青青草影院| 亚洲 国产精品 日韩| 你懂的日韩| 午夜欧美成人香蕉剧场| 久久福利影视| 日日夜夜婷婷| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美a级片视频| 国产麻豆精品免费视频| 国产91精品系列在线观看| 日韩字幕在线| 99色视频在线| 日韩免费在线| 日本在线不卡视频| 日本在线不卡视频| 国产视频一区在线| 欧美大片一区| 精品国产一级毛片| 日韩av成人| 沈樵在线观看福利| 亚洲第一视频在线播放| 一本高清在线| 国产成人欧美一区二区三区的| 高清一级毛片一本到免费观看| 可以免费在线看黄的网站| 美女免费精品视频在线观看| 欧美大片a一级毛片视频| 亚洲精品中文一区不卡| 色综合久久天天综合| 91麻豆精品国产自产在线| 久草免费资源| 国产精品自拍在线观看| 欧美日本免费| 成人免费观看视频| 欧美a级片视频| 日日日夜夜操| 黄视频网站在线免费观看| 欧美a级大片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 九九干| 91麻豆国产级在线| 精品毛片视频| 日本免费乱理伦片在线观看2018| 国产极品白嫩美女在线观看看| 精品国产香蕉在线播出| a级毛片免费全部播放| 亚洲天堂在线播放| 国产美女在线观看| 国产极品白嫩美女在线观看看| 亚洲第一页乱| 韩国三级香港三级日本三级la| 日本特黄特黄aaaaa大片| 中文字幕Aⅴ资源网| 国产国语对白一级毛片| 国产91视频网| 久久福利影视| 亚洲 男人 天堂| 久久成人亚洲| 国产亚洲精品aaa大片| 国产91精品系列在线观看| 999久久久免费精品国产牛牛| 可以免费看污视频的网站| 国产精品自拍在线| 国产一区二区高清视频| 国产不卡精品一区二区三区| 国产视频一区在线| a级毛片免费观看网站| 999久久66久6只有精品| 国产视频网站在线观看| 国产91素人搭讪系列天堂| 精品视频在线观看一区二区三区| 一级女性全黄久久生活片| 亚洲精品久久久中文字| 亚洲精品影院一区二区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本乱中文字幕系列| 精品国产一区二区三区久| 一本高清在线| 国产一区二区福利久久| 亚洲精品久久玖玖玖玖| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99热热久久| 国产一区二区精品在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久精品大片| 国产不卡高清在线观看视频|