函数,相信我们每个人都有多了解,其实就像数学中的函数一样,遵循某种规则,把语句、语法有效的结合起来,去实现某种特定功能的模块。
函数的命名 funct_name () { 函数体} 或者 function func_name { 函数体 }
函数本身是不能执行的,只有通过主函数的调用,才可以产生作用
练习脚本
1、创建一个函数,可以接受一个磁盘设备路径(如/dev/sdb)作为参数;在真正开始后面步骤之前提醒用户有危险,并让用户选择是否继续;而后将此磁盘设备上的所有分区清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1实现,注意其中的设备路径不要写错了);如果此步骤失败,返回67给主程序;接着在此磁盘设备上创建两个主分区,一个大小为100M,一个大小为1G;如果此步骤失败,返回68给主程序;格式化此两分区,文件系统类型为ext3;如果此步骤失败,返回69给主程序;如果上述过程都正常,返回0给主程序;
2、调用此函数;并通过接收函数执行的返回值来判断其执行情况,并将信息显示出来;
理解题意:1 创建一个函数命名为dkpro ,实现对特定设备的特定操作。符合条件à清空磁盘à创建分区à格式化分区
2 调用dkpro函数,并根据函数的返回状态来显示特定的信息,例如成功或失败对应信息
个人脚本如下:
#!/bin/bash
#
dkpro() {
echo " the action have danger,are you go on yes or no "
read -p "input a answer:" ANSWER
case $ANSWER in
yes)
dd if=/dev/zero of=$1 bs=512 count=1
[ $? -eq 0 ] || return 67
echo "
n
p
1
+100M
n
p
2
+1G
w" | fdisk $1
[ $? -eq 0 ] || return 68
mke2fs -j $1
[ $? -eq 0 ] || return 69
;;
no)
exit
;;
esac
}
read -p "input disk: " DISK
dkpro $DISK
[ $? -eq 0 ] && echo "successfully" || echo "failed"