首頁 > 運維 > linux運維 > linux中的shell有系統函數嗎

linux中的shell有系統函數嗎

WBOY
發布: 2022-06-23 10:27:23
原創
2930 人瀏覽過

linux中的shell有系統函數;shell程式設計和其他程式語言一樣有系統函數,同時也可以自訂函數,例如可以利用basename系統函數來取得檔案名,語法為「basename [pathname] [suffix]”,利用dirname系統函數來傳回檔案的路徑部分,語法為“dirname 檔案位置”。

linux中的shell有系統函數嗎

本教學操作環境:linux7.3系統、Dell G3電腦。

linux中的shell有系統函數嗎

linux中的shell有系統函數

函數介紹

shell 程式設計和其它程式語言一樣,有系統函數,也可以自訂函數。系統函數中,我們這裡就介紹兩個。

1. 系統函數

basename基本語法

功能:傳回完整路徑最後/ 的部分,常用於取得檔案名稱

basename [pathname] [suffix]
登入後複製

basename [string] [suffix] (功能描述:basename 指令會刪掉所有的前綴包括最後一個('/')字符,然後將字串顯示出來。

選項:

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

應用實例

#案例1:請回傳/ root/test-linux/aaa/aaa.txt 的「aaa.txt」 部分

basename /root/test-linux/aaa/aaa.txt
登入後複製

可以使用basename 來取得檔案名稱。把後綴帶上就只會回傳檔名,沒有字尾

linux中的shell有系統函數嗎

dirname 基本語法

功能:傳回完整路徑最後/ 的前面的部分,常用於返迴路徑部分

dirname檔案絕對路徑(功能描述:從給定的包含絕對路徑的檔案名稱中移除檔案名稱(非目錄的部分),然後返回剩餘

下的路徑(目錄的部分))

應用實例

案例1:請回傳/root/test-linux/aaa/aaa.txt 的/root/test-linux/aaa

dirname /root/test-linux/aaa/aaa.txt
登入後複製

linux中的shell有系統函數嗎

##2. 自訂函數

基本語法

[ function ] funname[()]
{
Action;
[return int;]
}
登入後複製

呼叫直接寫函數名稱:funname [值]

應用實例

案例1:計算輸入兩個參數的和(動態的獲取),getSum

#!/bin/bash
#定义一个函数 getSum
function getSum(){
        SUM=$[$n1+$n2]
        echo "和是=$SUM"
}
#输入两个值
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2
#调用自定义函数
getSum $n1 $n2
登入後複製

linux中的shell有系統函數嗎

推薦學習:

Linux影片教學

###############################################

以上是linux中的shell有系統函數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板