请教bourne shell 的函数调用怎么写?怎么连下面的都执行不了?!郁闷
[code:1:e701fdff6e]
test()
{
echo $1
echo $2
}
echo "input:"
read num1
read num2
test $num1 $num2
[/code:1:e701fdff6e]
整个执行过程:
[code:1:e701fdff6e]
#sh test.sh
input:
5
6
test.sh: test: argument expected
[/code:1:e701fdff6e]
晕哦,在red hat 9.0下ksh/bash测试通过,unix5.0.4, 和unix5.0.5均通不过,无论bourne shell或ksh, 这是怎么回事?写法不一样吗,
xchen301 回复于:2004-11-02 22:16:37 |
我写的一个程序里一个函数一直通不过,报上面一样的错误,请教大大指点一下莫非写法不一样?! |
CNL 回复于:2004-11-02 22:30:06 |
bash和bsh是两个不同的shell
bsh应该是${1}和${2} 看基本书比论坛里问要快,老大你更要带个好头。 |
xchen301 回复于:2004-11-02 22:33:07 |
[quote:acd739748a="CNL"]bash和bsh是两个不同的shell
bsh应该是${1}和${2} 看基本书比论坛里问要快,老大你更要带个好头。[/quote:acd739748a] 不是啊CNL老大,是因为我用test做为函数名,在调用的时候unix把test做命令处理,呵呵,相当的乌龙~~~ :em16: 改为其他函数名后通过~ :em13: |
xchen301 回复于:2004-11-02 22:35:49 |
奇怪的是linux可以接受这样的函数名,可见bash确实比bsh智能啊呵呵, |
nero_8888 回复于:2004-11-03 08:27:44 |
呵呵! 我已前也吃过这个亏!
没想到也有人犯同样的错误! :mrgreen: :mrgreen: :mrgreen: |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/