Shell编程之函数

目录

基本概念

自定义函数

系统函数

1.read

 2.basename

 3.dirname


基本概念

        将一段代码组合封装在一起实现某个特定的功能或返回某个特定的值,然后给这段代码取个名字,也就是函数名,在需要实现某个特定功能的时候直接调用函数名即可。

        函数名的定义和定义变量的规则基本一致,但是函数名允许以数字开头。

自定义函数

基本语法:

[ function ] 函数名[()]

{

        程序

}

注意:

  • 必须在调用函数之前声明函数,shell 脚本是逐行运行,不会像其他脚本一样先编译。
  • 函数返回值只能通过 $? 系统变量获得,可以显式的加 return 返回,如果不加将以最后一条命令运行结果作为返回值。

示例如下,一个求和函数:

#!/bin/bash

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

read -p "请输入第一个加数:" N1

read -p "请输入第二个加数:" N2

sum $N1 $N2

系统函数

        linux 中的系统函数很多这里只举几个简单的例子 可以参考 值得收藏的!Linux系统调用函数列表 - 知乎

1.read

语法:

read -t(指定读取值时等待得时间(秒))  -p(指定读取值时的提示符) [ 变量名 ]

例如:

#!/bin/bash

read -t 10 -p "请在7秒内输入参数" AGE

echo $AGE

 2.basename

基本语法:

basename [ string/pathname ] [suffix]

该命令会删除所有的前缀包括最后一个‘/’字符,然后将字符串显示出来

选项:suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或者 string 中的 suffix 去掉。

示例如下:

basename /root/shell/read.sh
basename /root/shell/read.sh .sh

Shell编程之函数_第1张图片

 3.dirname

dirname 文件绝对路径

功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录部分)。

dirname /root/shell/read.sh

你可能感兴趣的:(shell编程,git,linux,运维)