日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell脚本——函数

發布時間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell脚本——函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Shell 函數的本質是一段可以重復使用的腳本代碼,這段代碼被提前編寫好了,放在了指定的位置,使用時直接調取即可。

一、語法

Shell 函數定義的語法格式如下:

function name() {statements[return value] }

對各個部分的說明:

  • function是 Shell 中的關鍵字,專門用來定義函數;
  • name是函數名;
  • statements是函數要執行的代碼,也就是一組語句;
  • return value表示函數的返回值,其中 return 是 Shell 關鍵字,專門用在函數中返回一個值;這一部分可以寫也可以不寫。
  • 由{ }包圍的部分稱為函數體,調用一個函數,實際上就是執行函數體中的代碼。

二、函數定義的簡化寫法

函數定義時也可以不寫 function 關鍵字:

name() {statements[return value] }

如果寫了 function 關鍵字,也可以省略函數名后面的小括號:

function name {statements[return value] }

三、函數調用

調用 Shell 函數時可以給它傳遞參數,也可以不傳遞。如果不傳遞參數,直接給出函數名字即可:

name

如果傳遞參數,那么多個參數之間以空格分隔:

name param1 param2 param3

不管是哪種形式,函數名字后面都不需要帶括號。

和其它編程語言不同的是,Shell 函數在定義時不能指明參數,但是在調用時卻可以傳遞參數,并且給它傳遞什么參數它就接收什么參數。

Shell 也不限制定義和調用的順序,你可以將定義放在調用的前面,也可以反過來,將定義放在調用的后面。

四、范例

定義一個函數,計算所有參數的和:

#!/bin/bash function getsum(){local sum=0for n in $@do((sum+=n))donereturn $sum } getsum 10 20 55 15 #調用函數并傳遞參數 echo $?

$@表示函數的所有參數,$?表示函數的退出狀態(返回值)

五、系統函數

5.1、basename基本語法

basename [string / pathname] [suffix]

功能描述:basename命令會刪掉所有的前綴包括最后一個(‘/’)字符,然后將字符串顯示出來。

選項:

suffix為后綴,如果suffix被指定了,basename會將pathname或string中的suffix去掉。

5.2、dirname基本語法

dirname #文件絕對路徑

功能描述:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),然后返回剩下的路徑(目錄的部分)

總結

以上是生活随笔為你收集整理的Shell脚本——函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。