SCO的bsh、ksh中与bash不同,与系统命令同名的shell函数会失效
发表于:2007-05-26来源:作者:点击数:
标签:
请教bourneshell的函数调用怎么写?怎么连下面的都执行不了?!郁闷 [code:1:e701fdff6e] test echo$1 echo$2 echoinput readnum1 readnum2 test$num1$num2 [/code:1:e701fdff6e] 整个执行过程: [code:1:e701fdff6e] #shtest.sh input 5 6 test.shtestargum
请教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:
|
原文转自:http://www.ltesting.net
|