函数用法

函数定义:

  1. # func_name 函数名    
  2. function func_name(){  
  3.     #函数体内容  
  4. }  
  5. 或  
  6. func_name(){  
  7.     #函数体内容  
  8. }  

函数调用:

func_name parm

获取函数还回值:

  1. sum_xdr()
  2. {
  3. count=$1;
  4. count=$[count*10];
  5. echo $count;     #这里是使用echo语句,将结果输出到标准输出上,所以在主程序中可以使用变量接收
  6. }
  7. ret=`sum_xdr 3`;

1、函数调用(只能包含字符)

  1. #!/bin/sh
  2. char_name()
  3. {
  4. _Letters_Only=$1 #
  5. _Letters_Only=`echo $1|awk ‘{if($0~/[^a-zA-X]/) print "1"}‘` #只能包含字符
  6. if [ "$_Letters_Only" != "" ]
  7. then
  8. return 1
  9. else
  10. return 0
  11. fi
  12. }
  13. name_error()
  14. {
  15. echo "[email protected] contains errors ,it ,must contain only letters"
  16. }
  17. while :
  18. do
  19. echo -n "what is your first name :"
  20. read F_Name
  21. if char_name $F_Name
  22. then
  23. break
  24. else
  25. name_error $F_Name
  26. fi
  27. done

2、字符串转大写函数 str_to_upper

  1. #!/bin/sh
  2. str_to_upper()
  3. {
  4.     _str=$1
  5.     if [ $# -ne 1 ]; then
  6.         echo "number_file: I need a string to convert please "
  7.         return 1
  8.     fi
  9.     echo [email protected] | tr ‘[a-z]‘ ‘[A-Z]‘
  10. }

3、列出文本文件的行号  number_file脚本

  1. #!/bin/sh
  2. number_file()
  3. {
  4. _Filename=$1
  5. if [ $# -ne 1 ]; then
  6. echo "number_file: I need a filename to number"
  7. return 1
  8. fi
  9. loop=1
  10. while read Line
  11. do
  12. echo "$loop :$Line"
  13. loop=`expr $loop + 1`
  14. done <$_Filename
  15. }

4、判断字符串是否为大写 is_upper脚本

  1. #!/bin/sh
  2. is_upper()
  3. {
  4. if [ $# -ne 1 ]; then
  5. echo "is_upper:I need a string to test OK"
  6. return 1
  7. fi
  8. _Is_Upper=`echo $1|awk ‘{if($0~/[^A-Z]/) print "1"}‘`
  9. if [ "$_Is_Upper" != "" ]
  10. then
  11. return 1
  12. else
  13. return 0
  14. fi
  15. }
  16. echo -n "Enter the filename :"
  17. read FileName
  18. if is_upper $FileName ; then
  19. echo "Great it‘s upper case"
  20. else
  21. echo "Sorry it‘s not upper case"
  22. fi

要测试字符串是否为小写,只需要在is_upper中替换相应的awk语句即可。此为

  1. is_lower
  2. _Is_Lower=`echo $1|awk ‘{if($0~/[^a-z]/) print "1"}‘`

5、 测试字符串长度 check_length脚本

  1. #!/bin/sh
  2. check_length()
  3. {
  4. _str=$1
  5. _max=$2
  6. if [ $# -ne 2 ]; then
  7. echo "check_length; I need a string and max length the string should be "
  8. return 1
  9. fi
  10. #check the length of the string
  11. _Length=`echo $_str|awk ‘{print length($0)}‘`
  12. if [ "$_Length" -gt "$_max" ]; then
  13. return 1
  14. else
  15. return 0
  16. fi
  17. }
  18. while :
  19. do
  20. echo "Enter your First name :"
  21. read Name
  22. if check_length $Name 10
  23. then
  24. break
  25. else
  26. echo "The name field is too long 10 charater max "
  27. fi
  28. done

使用wc命令接收键盘操作输入时有一个误操作。如果用户输入一个名字后,点击了几次空格键

wc也将这些空格作为字符串的一部分。因而给出其错误的长度。awk在读取键盘时缺省截去字符串末尾处空格。

6、chop函数删除字符串前面的字符 chop脚本

  1. #!/bin/sh
  2. chop()
  3. {
  4. # to call: chop string how_many_charts_to_chop
  5. _str=$1
  6. _chop=$2
  7. chop=`expr $_chop + 1 `
  8. if [ $# -ne 2 ]; then
  9. echo "check_length : I need a string and how manay characters to chop "
  10. return 1
  11. fi
  12. _Length=`echo $_str|awk ‘{print length($0)}‘`
  13. if [ "$_Length" -lt "$_chop" ]; then
  14. echo "sorry you have asked to chop more characters than there ara in the string "
  15. return 1
  16. fi
  17. echo $_str |awk ‘{print substr($1,‘$_chop‘)}‘
  18. }

来自为知笔记(Wiz)

时间: 2024-10-12 08:15:34

函数用法的相关文章

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

C#字符串的截取函数用法总结

这篇文章主要介绍了C#字符串的截取函数用法,实例总结了substring,Remove,indexOf等函数的用法,并对具体应用进行了实例分析,需要的朋友可以参考下 本文实例总结了C#常用的字符串截取函数用法.分享给大家供大家参考.具体分析如下: 在C#中字符串截取函数包括有substring 函数,Remove 函数,indexOf 函数,它们三个都可以对字符串进行截取操作,下面我们来分别介绍一下. 下面是截取字符串过程中我们必须知道的以下函数:substring 函数.Remove 函数.i

python之函数用法capitalize()

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法capitalize() #capitalize() #说明:将字符串的第一个字母变成大写,其他字母变小写. ''' capitalize(...) S.capitalize() -> string Return a copy of the string S with only its first character capitalized. ''' #案例 str='xiaoden

Python成长之路第二篇(1)_数据类型内置函数用法

数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> abs(x) 例如: #!/usr/bin/python print "abs(-45) : ", abs(-45) print "abs(100.12) : ", abs(100.12) print "abs(119L) : ", abs(119L)

Python成长之路第二篇(2)_列表元组内置函数用法

列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; restored from __doc__ """ L.append(object) -- append object to end """ pass (2)def count(self, value): 值的出现次数 # real signature

Python成长之路第二篇(3)_字典的置函数用法

字典的置函数用法(字典dict字典中的key不可以重复) class dict(object): """ dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d =

python之函数用法setdefault()

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法setdefault() #D.get(k,d) #说明:k在D中,则返回 D[K],如果k不在D中,则返回d值 #D.get(k,d), also set D[k]=d if k not in D ''' >>> help(dict.setdefault) Help on built-in function setdefault: setdefault(...) D.set

python之函数用法islower()

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法islower() #http://www.runoob.com/python/att-string-islower.html #islower() #说明:检测字符串是否都由小写字母组成 str = "THIS is string example....wow!!!" print str.islower()#False str = "this is string

python之函数用法xrange()

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法xrange() #xrange() #说明:返回一个生成器 #xrange做循环的性能比range好,尤其是返回很大的时候.除非要返回一个列表,则用range. ''' class xrange(object) | xrange(stop) -> xrange object | xrange(start, stop[, step]) -> xrange object | | Li

python之函数用法startswith()

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法startswith() #http://www.runoob.com/python/att-string-startswith.html #startswith() #说明:返回布尔值,用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False. ''' startswith(...) S.startswith(prefix[, start[, end]]