zoukankan      html  css  js  c++  java
  • 7、shell函数

    shell允许用户定义自己的函数.函数是高级语言中的重要结构.shell中的函数于C或者其他
    语言中定义的函数一样.与从头开始,一行一行地写程序相比,使用函数主要好处是有利于组织
    整个程序.在bash中,一个函数的语法格式如下:
    fname (){
    shell comands
    }
    定义好函数后,需要在程序中调用他们.bash中调用函数的格式:
    fname [parm1 parm2 parm3...]
    调用函数时,可以向函数传递任意多个参数.函数将这些参数看做是存放他的命令行参数的
    位置变量.
    举例:
    这个程序定义了4个函数:
    upper ():将传递给他的文件中的字母转换成大写,并存放到同名的结尾为.out的文件中.
    lower ():将传递给他的文件里的字母转换成小写,并存放到同名的结尾为.out的文件中.
    print ():输出传递给他的文件的内容.
    usage_error ():输出程序的帮助信息.
    程序的主模块是个case条件语句,他根据命令行中第一个参数,决定程序要完成的功能,并调用相应
    的函数完成这一功能.
    upper (){
    shift
    for i
    do
    tr a-a A-Z<$!>$1.out
    rm $1
    mv $1.out $1
    shift
    done; }
    lower () {
    shift
    for i
    do
    tr A-Z a-z<$1>$1.out
    rm $1
    mv $1.out $1
    shift
    done; }
    print() {
    shift
    for i
    do
    lpr $1
    shift
    done; }
    usage_error() {
    echo " $1 syntax is $1"
    echo ""
    echo " where option is one of the following"
    echo " p--to print frame files"
    echo " u--to save as uppercase"
    echo " l--to save as lowercase";}
    case $1 in
    p | -p)print $@;;
    u | -u)upper $@;;
    l | -l)lower $@;;
    *) usage_error $0;;
    esac

  • 相关阅读:
    oracle存储过程
    PHP文件锁 解决并发问题
    如何从svn下载以前的项目版本
    文件上传所遇到的413问题
    数据库索引优化
    mysql索引的应用场景以及如何使用
    Elasticsearch删除数据之_delete_by_query
    同时安装CUDA8.0和CUDA9.0
    Linux 中用 dd 命令来测试硬盘读写速度
    Temporarily disable Ceph scrubbing to resolve high IO load
  • 原文地址:https://www.cnblogs.com/quyong/p/6688023.html
Copyright © 2011-2022 走看看