函数function~

函数:功能,function

代码重用:

库:so

定义一个函数的方法有2种

第一种:

function FUNCNAME{

command

}

第二种:

FUNCNAME () {

command

}

写一个脚本“输入d显示硬盘使用信息,输入m显示内存使用信息,输入s显示swap使用信息,输入q则退出”

#!/bin/bash

#

cat << EOF

d|D) show diskusages

m|M) show memoryusages

s|S) show swapusages

q|Q) quit

EOF

read -p "Yourchoice:" CHOICE

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

case $CHOICE in

d|D)

df -lh

;;

m|M)

free -m |grep"^Mem"

;;

s|S)

free -m |grep"^swap"

;;

*)

cat << EOF

d|D) show diskusages

m|M) show memoryusages

s|S) show swapusages

q|Q) quit

EOF

read -p "Yourchoice:" CHOICE

;;

esac

cat << EOF

d|D) show diskusages

m|M) show memoryusages

s|S) show swapusages

q|Q) quit

EOF

read -p "Yourchoice:" CHOICE

done

把cat做成函数,后调用

#!/bin/bash

#

ABC ()  {

cat << EOF

d|D) show diskusages

m|M) show memoryusages

s|S) show swapusages

q|Q) quit

EOF

}

ABC

read -p "Yourchoice:" CHOICE

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

case $CHOICE in

d|D)

df -lh

;;

m|M)

free -m |grep"^Mem"

;;

s|S)

free -m |grep"^swap"

;;

*)

ABC

read -p "Yourchoice:" CHOICE

;;

esac

ABC

read -p "Yourchoice:" CHOICE

done

return # 定义执行状态返回值,函数不执行return后的语句。

#:0-255

如果用户调用函数如果用户admin存在则返回1,如果用户不存在则创建用户,并设置密码,返回值0,

如果返回0 则显示用户添加成功,如果返回1则显示用户已存在

#!/bin/bash

#

function  ABC {

USERNAME=‘admin‘

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

useradd $USERNAME

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

return 0

else

return 1

fi

}

ABC

if [ $? -eq 0];then

echo "add user finished"

else

echo "user exist"

fi

接受参数的函数:

FUNCTION  a   b

$1 : a

$2 : b

1到10任意2个相邻整数相加

#!/bin/bash

#

function QWE {

echo $[$1+$2]

}

for I in {1..10};do

let J=$I+1

echo "$I pluse$J is `QWE $I $J`"

done

修改上面的脚本,让脚本可以连续创建10个用户

#!/bin/bash

#

function  ABC {

USERNAME=$1

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

useradd $USERNAME

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

return 0

else

return 1

fi

}

for I in {1..10};do

ABC user$I

if [ $? -eq 0];then

echo "add user finished"

else

echo "user exist"

fi

done

练习:写一个脚本,判定192.168.0.200-192.168.0.254之间的主机哪些在线。要求:

  1. 1.        使用函数来实现一台主机的判定过程:
  2. 2.        在主程序中来调用此函数判定指定范围内的所有主机的在线情况。

#!/bin/bash

#

function PING {

if ping -c 1 -w 1  192.168.0.$I &> /dev/null;then

return 0

else

return 1

fi

}

for I in {200..254}; do

PING $I

if [ $? -eq 0 ];then

echo "192.168.0.$I is up"

else

echo "192.168.0.$I is down"

fi

done

写一个脚本:使用函数完成

1 .   函数能够接受一个参数,参数为用户名:

判断一个用户是否存在

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

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

2.在程序中调用函数:

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

扩展2:在主程序中,输入用户名判断后不退出脚本,而是提示用户继续输入下一个用户名:如果用户输入的用户不存在,请用户从新输入;但如果用户输入的是q或者Q就退出;

#!/bin/bash

#

function IDUSER {

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

echo " $1 shell is :`cat /etc/passwd|grep "^$1\b" |awk -F : ‘{print $7}‘`"

echo " $1 UID is: `id -u $1`"

return 0

else

echo "user not exist."

return 1

fi

}

read -p"username:" USERNAME

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

IDUSER $USERNAME

if [ $? -eq 0];then

read -p"pleasw input again:" USERNAME

else

read -p "no$USERNAME,please input again::" USERNAME

fi

done

时间: 2024-10-09 01:20:48

函数function~的相关文章

javascript中的立即执行函数(function(){…})()

javascript中的立即执行函数(function(){…})() 深入理解javascript中的立即执行函数,立即执行函数也叫立即调用函数,通常它的写法是用(function(){…})()包住业务代码,使用jquery时比较常见. ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此.要

函数(Function)作用域

函数跟变量一样也是有作用域的:Global.Script.Local.Private Global:作用于整个PowerShell会话,只要PowerShell会话不结束,被Global修饰的变量和函数都是可用的. Script:仅作用于脚本执行期间,一旦脚本执行完毕,脚本中被Script修饰的变量和函数都不在可用. Local:默认作用域,变量在当前和嵌套的作用域中可见,复制操作语法能在当前的local作用域中修改变量值. Private:最严格的作用域,变量仅在当前作用域有效.通过这个关键字

Shell脚本——函数(function)

做为一个经常写脚本的运维人员来讲,都能发现一个问题,很多时候我们在不同的脚本里面重复的写着同一段代码.比如我们要去使用正则表达式去判断IP地址的合法性问题,如果每次都去写一遍这个匹配IP的表达式,整个表达式写下来老长老长的,0-9的数字组合看的眼都花了,是不是很累了.当然有人会说了,保存一份正确的代码之后,需要用这段代码的时候,直接粘贴到正在编写的脚本里面不就行了嘛!是没错,但这样是不是很多脚本里面都重复存放着同一段代码,额外增加了脚本的代码量.有没有一个两全其美的办法,让我们的脚本代码量又小,

tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum

tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 tar xvf 解压文件 tar zcvf /testdir/etc2.tar.gz /etc/ 解压再压缩到指定路径,文件格式 tar jcvf cpio 复制 从或到文件 cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以".cpio"或者".ta

立即执行函数(function (){xxx})()和(function (){xxx}())

( function(){-} )()和( function (){-} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此.要理解立即执行函数,需要先理解一些函数的基本概念. 函数声明.函数表达式.匿名函数 函数声明: function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式: var fnNa

PHP Smarty 模板 自定义函数function和块函数block

自定义函数 function.yangA.php页面 采用插件形式调用 <?php /*  * 文件名    * function.函数名.php    function.yangA.php  * 声明的函数名规则  * smarty_function_函数名()  smarty_function_yangA  * 参数  * 1.数组 array  * 2.smarty  * 模板使用  * <{yangA content="I am Mr.Yang" color=&qu

js中的函数function

js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式).arguments属性可以看作是一个Array对象,它有length属性,可以通过序号访问每一个参数,而且通过argument的callee属性可以获取对正在执行的Function对象的引用.如下: function factorial(n){ if(n<=n){ return 1; }else{ return n*arguments.callee(n-1);

深入理解javascript中的立即执行函数(function(){…})()

这篇文章主要介绍了深入理解javascript中的立即执行函数,立即执行函数也叫立即调用函数,通常它的写法是用(function(){-})()包住业务代码,使用jquery时比较常见,需要的朋友可以参考下http://www.jb51.net/article/50967.htm javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ( function()

【第6篇】TypeScript函数function的案例代码详解

7.1最简单function函数 Ts代码 /*******声明一个add方法********/ function add(x: number, y: number): number { return x+y; } /*******声明一个myAdd1方法********/ var myAdd1 = function(x: number, y: number): number { return x+y; }; /*******声明一个myAdd2方法********/ //现在我们已经输入的功能

立即执行函数-$(function(){})篇

QQ:1187362408 欢迎技术交流和学习 立即执行函数-$(function(){})篇(jquery): TODO: 1,jquery:jQuery(function($){ }) 与 $(document).ready(function(){}) 有什么区别?( 没区别都是页面加载运行 要说真正的区别 就是 jQuery(function($){ }) 这样写可以防止和其他的库产生冲突 因为$ 在其他的库中很多运用到 ) 2,jquery:document.ready和onload的区