在被调用时,如何获取到参数的 T=$(gettop) 实际上是可以得到参数的,谢谢!

请问envsetup.sh里边,
function gettop() 
{
local TOPFILE=build/core/envsetup.mk
if [ -n "$TOP" -a -f "$TOP/$TOPFILE" ] ; then
echo $TOP
else
if [ -f $TOPFILE ] ; then
# The following circumlocution (repeated below as well) ensures
# that we record the true directory name and not one that is
# faked up with symlink names.
PWD= /bin/pwd
fi
}并没有返回值。 

慕容708150
浏览 196回答 1
1回答

万千封印

shell中的函数,跟c的不一样。c想要返回值,要么使用全局变量,要么使用return,要么使用指针。而shell中的函数,你要得到shell函数处理后的值。要么把处理的结果写到文件中,或者输出。我这里举例输出,不过这样不太方便[root@localhost Desktop]# cat test.sh #!/bin/bashprint(){echo "hello world"echo "world hello"}a=`print`echo ${a}[root@localhost Desktop]# sh test.sh hello world world hello[root@localhost Desktop]# shell中函数调用时,有输出。函数调用有返回值,一般使用return来指定。如果不指定,默认为函数中最后一个语句的返回值。
打开App,查看更多内容
随时随地看视频慕课网APP