Chinaunix首页 | 论坛 | 博客
  • 博客访问: 836743
  • 博文数量: 489
  • 博客积分: 475
  • 博客等级: 下士
  • 技术积分: 3087
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 16:28
文章分类

全部博文(489)

文章存档

2013年(7)

2012年(301)

2011年(181)

分类:

2011-12-22 22:04:17

原文地址:shell基础编程(4) 作者:luozhiyong131

Shell 函数定义,在调用一个函数之前必须先定义。

#!/bin/bash

foo(){

    echo "hello word!"

}

echo "script start"

foo

echo "script ended"

2、使用local关键字在shell函数中声明局部变量

#!/bin/bash

test="global"

foo(){

    local test='local'

    echo $test

}

echo $test

foo

echo $test

3、从函数中返回一个值

#!/bin/bash

yes_or_no(){

    echo "is you name $*?"

    while true

    do

        read name

        case $name in

        y|Y|yes)

                return 0;; 

        n|N|not)

                return 1;; 

        *)

           echo "answer yes no" ;;

    esac

    done

}

if yes_or_no $1

then

    echo "hello $1"

else

    echo "sorry"

 fi

参数扩展

${param:-default} 如果param为空,就把它设置为default

${#param}  给出param的长度

${param%word}      从param的尾部删除与word匹配的最小部分,然后返回剩余部分

${param%%word}  从param的尾部删除与word匹配的最长部分,然后返回剩余部分

${param#word}      从param的头部删除与word匹配的最小部分,然后返回剩余部分

${param##word}  从param的头部删除与word匹配的最小部分,然后返回剩余部分

各种参数匹配操作符的用法:

#!/bin/bash

unset foo 

echo ${foo:-bar}

f00=fud

echo ${foo:-bar}

foo=/usr/bin/X11/startx

echo ${foo#*/}

echo ${foo##*/}

bar=/usr/local/etc/local/networks

echo ${bar%local*}

echo ${bar%%local*}

exit 0

阅读(623) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~