脚本编程之函数:


function: 功能


结构化编程,不能独立运行,需要调用时执行,可以被多次调用


定义一个函数:
function FUNCNAME {
  command
}


FUNCNAME() {
  command
}



自定义执行状态返回值:
return #
0-255


接受参数的函数:
./a.sh m n
$1: m
$2: n



TWOINT 5 6
$1: 5
$2: 6


练习1、函数

[root@localhost ~]# cat MENU.sh
#!/bin/bash
function MENU {
cat << EOF
d|D) show disk usages
m|M) show memory usages
s|S) show swap usages
q|Q) quit
EOF
}
MENU
[root@localhost ~]# bash MENU.sh
d|D) show disk usages
m|M) show memory usages
s|S) show swap usages
q|Q) quit
[root@localhost ~]#


练习2、自定义执行状态返回值

[root@localhost ~]# cat adduser2.sh
#!/bin/bash


ADDUSER() {
 username=hadoop
 if ! id -u $username &> /dev/null; then
  useradd $username
  echo $username | passwd --stdin $username &> /dev/null
  return 0
 else
  return 1
 fi
}



ADDUSER
if [ $? -eq 0 ];then
 echo "add user success"
else
 echo "add user failuer"
fi
[root@localhost ~]#


练习3、接受参数的函数

[root@localhost ~]# bash sum6.sh
11
[root@localhost ~]# cat sum6.sh
#!/bin/bash


SUM(){
 echo $[$1+$2]
}
SUM 5 6
[root@localhost ~]#