Shell脚本编程(四)

目录

一、Shell脚本使用函数

1.1、实例1

二、Shell脚本调用其它脚本

2.1、实例1

三、实战


一、Shell脚本使用函数

        Shell程序支持函数,函数能够完成特定的功能,可以重复调用这个函数。

语法结构:

函数名()

{

函数体

}

函数调用方式为

函数名        参数列表

1.1、实例1

        编写一个Shell程序test18,功能是求两个数的和,这两个数用位置参数传入,最后输出结果。

#! /bin/bash

add()
{
a=$1
b=$2
z=`expr $a + $b`
echo "The result is $z"
}

add $1 $2

        执行结果如下:

注意:函数定义完成后必须同时写出函数的调用。

二、Shell脚本调用其它脚本

        在Shell脚本的执行过程中,Shell脚本支持调用另一个Shell脚本,调用格式为:

程序名

2.1、实例1

        编写一个Shell程序test19,在其中调用test20。

        test19:

#! /bin/bash

echo "The main name is $0"
./test20
echo "The first string is $1"

        test20:

#! /bin/bash

echo "How are you $USER?"

        执行结果如下:

注意

        1、在Linux编辑中命令区分大小写字符;

        2、在Shell语句中加入必要的注释,以便以后查询和维护,注释以#开头;

        3、对Shell变量进行数字运算时,使用乘法符号“*”时,要用转义字符“\”进行转义;

        4、由于Shell对命令中多余的空格不进行如何处理,因此程序员可以利用这一特性调整程序缩进,达到增强程序可读性效果;

        5、在对函数命名时最好能使用有含义且能够容易理解的名字,即使函数名能够比较准确地表达函数所完成的任务,同时建议对于较大的程序要建立函数名和变量命名对照表。

三、实战

        编写一个Shell程序,呈现一个菜单,有0~5一共6个命令选项,1为挂载U盘,2为卸载U盘,3为显示U盘信息,4为将硬盘中的文件拷贝到U盘,5为将U盘中的文件拷贝到硬盘,0为退出。

#! /bin/bash

#退出程序函数
quit()
{
    clear
    echo "***********************************************"
    echo "***       Thank you to use, Good Bye!       ***"
    echo "***********************************************"
    exit 0
}

#加载U盘函数
mountusb()
{
    clear
    mkdir /mnt/usb
    /sbin/fdisk -l |grep /dev/sd
    echo -e "Please Enter the device name of usb as shown above:\c"
    read PARAMETER
    mount /dev/$PARAMETER /mnt/usb
}

#卸载U盘函数
unmountusb()
{
    clear
    ls -la /mnt/usb
}

#显示U盘信息函数
display()
{
    clear
    umount /mnt/usb
}

#拷贝硬盘文件到U盘函数
cpdisktousb()
{
    clear
    echo -e "Please Enter the filename to be Copide(under Current directory):\c"
    read FILE
    echo "Copying, please wait..."
    cp $FILE /mnt/usb
}

#拷贝U盘文件到硬盘函数
cpusbtodisk()
{
    clear
    echo -e "Please Enter the filename to be Copide in USB:\c"
    read FILE
    echo "Copying, please wait..."
    cp /mnt/usb/$FILE .
}

clear
while true
do
echo "======================================================"
echo "***           LINUX USB MANAGE PROGRAM             ***"
echo "              1-MOUNT USB                             "
echo "              2-UMOUNT USB                            "
echo "              3-DISPLAY USB INFORMATION               "
echo "              4-COPY FILE IN DISK TO USB              "
echo "              5-COPY FILE IN USB TO DISK              "
echo "              0-EXIT                                  "
echo -e "Please Enter a Choice(0-5):\c"
read CHOICE
case $CHOICE in
    1) mountusb;;
    2) unmountusb;;
    3) display;;
    4) cpdisktousb;;
    5) cpusbtodisk;;
    0) quit;;
    *) echo "Invalid Choice! Correct Choice is (0-5)"
    sleep 4
    clear;;
    esac
done

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿核试Bug愁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值