码迷,mamicode.com
首页 > 其他好文 > 详细

bash脚本(三)_函数

时间:2015-02-09 07:08:46      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:linux   function   

函数:功能 function。

作用:代码重用。


函数的定义:

1.使用function关键字。

function FUNNAME {

COMMAND

...

}


2.使用FUNNAME()

FUNNAME() {

COMMAND

...

}


函数的调用:

使用FUNNAME 或 FUNMANEW()调用。


返回值的调用:

1.函数的返回值

使用反引号``


2.函数的状态返回值

echo $?


自定义状态返回值:

return NUM

NUM取值为0-255。





1.写一个脚本,显示磁盘 内存和swap 情况。

#!/bin/bash

function MENU{

cat << EOF

d|D) show disk usage

m|M) show memory usage

s|S) show swap suage

q|Q) quit

EOF

}


SHOW

read -p "your choice"CHOICE

until [ $CHOIE == ‘q‘ -o $CHOICE == ‘Q‘];do

case in

d|D) df -lh;;

m|M) free|grep "^Mem";;

s|S) free|grep "Swap";;

*) SHOWMENU

read -p "your choice"CHOICE

;;

esca

read -p "your choice"CHOICE

SHOWMENU

done


2.写一个脚本,添加user1-user10账号

#!/bin/bash

ADDUSER(){

USERNAME=$1

if !id -u $USEANAME &> /dev/null;then

useradd $USERNAME

echo $USERNAME | passwd $USERNAME --stdin &>/dev/null

return 0

else

return 1


fi

}


for I in {1..10};do

ADDUSER user$I

if [$? -eq 0] ;then

echo "user$I add ok"

else

echo "user$I fail"

if

done


3.计算1至10以内相邻2数之和

#!/bin/bash

TOSUM{

echo $[$1+$2]

}


for I in {1..10};do

let J=$[$I+1]

echo "$I plus $J is `TOSUM $I $J`"

done



4.写一个脚本,判定192.168.1.x网段内主机的在线情况。

#!/bin/bash

NETPING{

if ping -c 1 -W 1 $1 &> /dev/null;then

return 0

eles

return 1

fi

}


for I in {1..254};do

NETPING 192.168.1.$I

if [$? -eq 0];then

echo "192.168.1.$I is up"

else

echo "192.168.1.$I is dwon"

fi

done

5.写一个脚本,判断多个用户是否存在,若存在则返回shell和uid,不存在则提示。在主程序中让用户自己输入用户名,判断完成后不退出继续判断。q退出

#!/bin/bash

USERID{

if id $1 &> /dev/null;then

echo "`grep ^$1 /etc/passwd`|cut -d: -f 3,7`"

return 0

else

echo "$1 not exist"

return 1

fi

}

USERNAME=$1

until $1=‘q‘;do

USERID $USERNAME

read -p "username" USERNAME

done



本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1612828

bash脚本(三)_函数

标签:linux   function   

原文地址:http://ggvylf.blog.51cto.com/784661/1612828

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!