(七)(八)Shell函数

七、系统函数

1. basename——文件名

basename [string / pathname] [suffix]: 删除字符串或者地址中所有前缀,然后将字符串显示出来

选项:

  • suffix后缀:如果suffix被指定了,basename删除字符串后者地址中的后缀

案例实操

sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % basename /Users/sangxiaoqian/for.sh    
for.sh

sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % basename /Users/sangxiaoqian/for.sh .sh
for

2. dirname——文件绝对路径

dirname 文件绝对路径: 获取给定绝对路径的文件名中的目录部分

sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % dirname /Users/sangxiaoqian/for.sh
/Users/sangxiaoqian

八、自定义函数

[ function ] funname [()]
{
	程序;
	[return int;]
}

注意事项:

  • 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。

  • 必须在函数调用前,先声明函数

  • 参数返回值,只能通过$?获取; 如果不加返回值,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)

案例实操

自定义加法函数

#!/bin/bash

function sum()
{
	s=0
	s=$[ $1 + $2 ]
	echo $s
}

read -p "input param1: " p1
read -p "input param2: " p2

sum $p1 $p2
posted @ 2022-08-24 15:48  言思宁  阅读(15)  评论(0编辑  收藏  举报