13_Shell系統函數和自定義函數
一、系統函數
basename 獲取文件名
#!/bin/bash#basename 相對路徑文件名
basename ./1.sh#basename 絕對路徑文件名
basename /tmp/1.sh#basename 去除文件后綴名
basename /tmp/1.sh .sh
dirname 獲取文件所在目錄名
#!/bin/bash#dirname 相對路徑文件名
dirname ./1.sh#dirname 絕對路徑文件名
dirname /tmp/1.sh
二、自定義函數
自定義函數:
? 1、function 關鍵字可有可無
? 2、return 關鍵字可有可無,有只能返回數字
######函數定義#######標準版
function 函數名()
{命令return 返回值
}#簡潔版
函數名()
{命令
}######函數調用#######無參調用
函數名()#有參調用
函數名() 參數1 參數2 ... 參數n
無參函數
#無參無返回值
demo1()
{echo "無參無返回值函數打印"
}demo1
#無參有返回值
demo2()
{result="無參有返回值函數返回"
}demo2
echo "函數執行結果:$?"
echo "函數返回變量: $result"
有參函數
參數處理 | 說明 |
---|---|
$n | $1-數1 $2-參數2 ${10}-參數10 |
$# | 參數個數 |
$* 和 $@ | 獲取所有參數(略有不同) |
#!/bin/bashdemo3()
{echo "參數1:$1"echo "參數2:$2"echo "參數10:${10}"echo "參數總個數:$#"echo "所有參數:$*"
}demo3 1 2 3 4 5 6 7 8 9 10 11