linux命令里调用函数,linux命令:function脚本编程之函数

function命令简介:

定义函数

1.命令格式:

function 函数名 {

content      #内容

}

或者

函数名() {

content  #内容

}

调用函数只要在需要调用的地方输入函数名即可

2.命令功能:

使得脚本简洁,调用重复内容

3.命令参数:

自定义函数执行状态返回值

return #   #为0-255

且函数可以接受参数

FUNCTION () {

content

}

FUNCTION 5 6

$1=5

$2=6

4.命令实例:

1、使用函数添加用户,函数执行状态返回值使用return定义,并传输一个参数给函数。

vim useradd.sh

#!/bin/bash

#

USERADD () {

USERNAME=$1

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

useradd $USERNAME

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

return 0

else

echo "$USERNAME is exist."

return 3

fi

}

USERADD $1

if [ $? -eq 0 ]; then

echo "useradd user finished"

else

echo "useradd user failure"

fi

2、使用函数调用,进行ping命令

vim PING.sh

#!/bin/bash

#

PING() {

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

return 0

else

return 1

fi

}

for I in {96..106}; do

if PING  192.168.1.$I &> /dev/null ; then

echo "192.168.1.$I is up"

else

echo "192.168.1.$I is down"

fi

done

for I in {96..106}; do

if PING  172.16.1.$I &> /dev/null ; then

echo "172.16.1.$I is up"

else

echo "172.16.1.$I is down"

fi

done

3、写一个脚本;使用函数完成

1、函数能够接受一个参数,参数为用户名;判断一个用户是否存在

如果存在,就返回此用户的shell和UID;并返回正常状态值

如果不存在,就说此用户不存在;并返回错误状态值

2、在主程序中调用函数;

扩展1:在主程序中,让用户自己输入用户后,传递给函数来进行判断;

扩展2:在主程序中,输入用户名判断后不退出脚本,而是提示用户继续输入下一个用户;

如果用户输入的用户不存在,请用户重新输入;但如果用户输入的是Q或q就退出;

#!/bin/bash

#

USERID () {

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

echo "`grep '^$1' /etc/passwd | awk -F : '{print $NF,$3}'`"

return 0

else

echo "$1 is not exist."

return 3

fi

}

read -p "Input one UserName:" USERNAME

until [ $USERNAME == 'q' -o $USERNAME == 'Q' ]; do

USERID $USERNAME

if [ $? -eq 0 ]; then

read -p "Input one UserName:" USERNAME

else

read -p "No $USERNAME,please Input one UserName Again:" USERNAME

fi

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值