当前位置: 首页 > biancheng >正文

Linux学习 -- Shell之函数

  • 系统函数
  • 自定义函数

一、系统函数

常用的系统函数:

1. bashname 基本用法

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

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

案例操作:

        要求:截取该/bin/datas/zj.txt路径的文件名称,
                命令: basename /bin/datas/zj.txt

                        //截取了这个字符的最后一个zj.txt

2.dirname 基本用法

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

案例操作:

        需求:截取zj.sh 文件的路径

                命令: dirname zj.sh

3、read 基本用法

        功能描述: 读取控制台输入(类似input)

        用法:  read(选项)(参数)

        选项:,
                -p:指定读取值时的提示符;

                -t:指定读取值时等待的时间(秒)

        参数
                变量:指定读取值的变量名

案例操作:

        需求:提示7秒内读取控制台输入名称。

                命令: read -t 7 -p "input things" p

                                echo $p

二、自定义函数

1、基本用法:

[finction ] funname[(]-{
        Action;

        [return int;]

}
funname

2.经验技巧.
(1)必须在调用函数地方之前,先声明函数,shell 脚本是逐行运行。不会像其它语言
一样先编译。,
(2)函数返回值,只能通过$?系统变量获得,可以显示加: return返回,如果不加,将
以最后一条命令运行结果,作为返回值。return后跟数值 n(0-255).
 

案例操作:

        需求: 计算两个输入参数的和。

                命令:

#!/bin/bash
function sum()
{
    s=0;
    s=$[$!+$2];
    echo $s;

}

read -p "input you first parameter :"  p1
read -p "input you second parameter :" p2

sum  $p1 $p2

 

相关文章:

  • 牛客练习赛#84 F 莫比乌斯反演+杜教筛+技巧+斐波那契数列和gcd的结论+矩阵快速幂
  • ZZNUOJ_用C语言编写程序实现1342:支配值数目(附完整源码)
  • java毕业设计后勤管理系统餐饮评价监督系统(附源码、数据库)
  • 前端基础学习笔记
  • 【TS】联合类型--类型断言--类型推断
  • 谈笑风声的秘密
  • QT影城网上售票系统
  • NetCDF数据在ArcMap中的使用
  • 打怪升级(考验思路)
  • 持续精进,改变自己