和"真正的"编程语言一样,Bash也有函数,虽然在某些实现方面稍有些限制.一个函数是一个子程序,用于实现一串操作的代码块(codeblock),它是完成特定任务的"黑盒子".当有重复代码,当一个任务只需要很少的修改就被重复几次执行时,这时你应考虑使用函数.functionfunction_name{command...}或function_name(){command...}第二种格式的写法更深得C程序员的喜欢(并且也是更可移植的).因为在C中,函数的左花括号也可以写在下一行中.function_name(){command...}函数被调用或被触发,只需要简单地用函数名调用.例1.简单函数 1#!/bin/bash 2 3JUST_A_SECOND=1 4 5funky() 6{#这是一个最简单的函数. 7 echo"Thisisafunkyfunction." 8 echo"Nowexitingfunkyfunction." 9}#函数必须在调用前声明. 10 11 12fun() 13{#一个稍复杂的函数. 14 i=0 15 REPEATS=30 16 17 echo 18 echo"Andnowthefunreallybegins." 19 echo 20 21 sleep$JUST_A_SECOND #嘿,暂停一秒! 22 while[$i-lt$REPEATS] 23 do 24 echo"----------FUNCTIONS---------->" 25 echo"<------------ARE-------------" 26 echo"<------------FUN------------>" 27 echo 28 let"i+=1" 29 done 30} 31 32 #现在,调用两个函数. 33 34funky 35fun 36 37exit0 函数定义必须在第一次调用函数前完成.没有像C中的函数“声明”方法. 1f1 2#因为函数"f1"还没有定义,这会引起错误信息. 3 4declare-ff1 #这样也没用. 5f1 #仍然会引起错误. 6 7#然而... 8 9 10f1() 11{ 12 echo"Callingfunction\"f2\"fromwithinfun
上一篇:不使用局部变量的递归_程序数据_shell
下一篇:受限shell(Restricted Shells)_程序数据_shell