cencenhai 发表于 2018-8-26 10:09:16

【shell】Linux shell函数入门讲解

Linux shell函数

  写在前面:函数,这个词在刚刚入门的同学看来很高大上,其实不然,shell里面的函数非常简单,函数的作用其实就是减少代码量,所以这边的篇幅可能会稍微短一点。


函数的基本格式

  函数的格式:
  function functionname(){
  函数内容
  }

  建议:直接使用 functionname(){}格式,前面不需要加function关键字,因为本来函数就是用来减少代码量的,加上关键字function并没有什么作用。
  注意:定义了函数必须调用才能生效,只定义是没有任何效果的哦!

函数的运用场景

  假设有一个代码是需要多次使用,而我们又不想写重复的代码,那么这时候我们就可以使用函数了,把重复的代码写在一个函数中,如果需要调用的话我们就可以直接调用函数即可。

  例子:
  判断文件是否存在,如果不存在则返回一串很长的字符提示。这时我们两种做法,一种是多敲一遍重复的代码。
  

[ -z a.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd  
[ -z b.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd
  
[ -z c.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd
  

  

  第二种,把重复的值写到一个函数中,然后调用。
  

创建函数andinfo  
andinfo(){
  echo fdsfsdfsdfkslfjklsdjfklsdfjkl
  
}
  

  
创建函数orinfo
  
orinfo(){
  echo fjklsfjlsjflkjlkjlkjafsd
  
}
  

  
调用函数
  
[ -z a.txt ] && andinfo || orinfo
  

  
运行结果:
  
# bash test1.sh
  
fjklsfjlsjflkjlkjlkjafsd
  

  注意:shell中函数的调用不需要'()',直接写函数名即可;shell中的函数不能传参。
  版权所有:arppinging


页: [1]
查看完整版本: 【shell】Linux shell函数入门讲解