shell函数有参数吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
dengroj
帖子: 39
注册时间: 2009-06-06 8:57

shell函数有参数吗?

#1

帖子 dengroj » 2009-08-13 21:09

当一个函数被调用时,脚本程序的位置参数$*、$@、$#、$1、$2等会被替换为函数的参数。这也是你读取传递给函数的参数的办法。当函数执行完毕后,这些参数会恢复为它们先前的值。

请教大伙,这句话怎样理解啊!!。谢谢!!
本人花580元从国嵌淘宝店上购买的正版,现在尝试创业,低价转让。qq:1531267696
头像
dengroj
帖子: 39
注册时间: 2009-06-06 8:57

Re: shell函数有参数吗?

#2

帖子 dengroj » 2009-08-13 21:49

找到了例子:跟像我这样的菜鸟一起分享。。 :em06

#!/bin/bash

yes_or_no()
{
echo "is you name $* ?"
while true
do
echo "enter yes or no:"
read x

case "$x" in
y|yes ) return 0;;
n|no ) return 1;;
* ) echo "Answer yes or no "
esac

done
}

if [ $# = 0 ]
then
echo "usage : main name "
else
echo "original parameters are $*"
if yes_or_no "$1"
then
echo "hi $1,nice name"
else
echo "never mind"
fi
fi
exit 0
本人花580元从国嵌淘宝店上购买的正版,现在尝试创业,低价转让。qq:1531267696
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: shell函数有参数吗?

#3

帖子 O_O_BOT » 2009-08-14 9:22

可以有参数
$0-n 本来是脚本的参数
用到函数的时候 暂时用来放函数的参数
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
回复