shell——函数

124 阅读1分钟

函数

1.1 系统函数

1.basename基本语法

  • basename [string / pathname] [suffix] (功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

选项:

  • suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
  1. dirname基本语法
  • dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))

9.2 自定义函数

1.基本语法

[ function ] funname[()]

{

Action;

[return int;]

}

funname

2.经验技巧

(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。

(2)函数返回值,只能通过$?系统变量获得,可以显示加return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)

3.案例实操

(1)计算两个输入参数的和

$ touch fun.sh

$ vim fun.sh

#!/bin/bash

function sum()

{ ​  s=0 ​

 s=[[ 1 + $2 ]

​  echo "$s" ​

} ​

​ read -p "Please input the number1: " n1; ​

read -p "Please input the number2: " n2; ​

sum n1n1 n2;

$ chmod 777 fun.sh

$ ./fun.sh

\