shell函数中的local怎么理解
答案:3 悬赏:30
解决时间 2021-03-21 05:39
- 提问者网友:清羽墨安
- 2021-03-20 15:13
shell函数中的local怎么理解
最佳答案
- 二级知识专家网友:啵啵桃汀
- 2021-03-20 16:07
local添加后,作用域的范围不一样。local仅仅的作用范围在函数体内
全部回答
- 1楼网友:都不是誰的誰
- 2021-03-20 18:07
shell中的函数,跟c的不一样。c想要返回值,要么使用全局变量,要么使用return,要么使用指针。
而shell中的函数,你要得到shell函数处理后的值。要么把处理的结果写到文件中,或者输出。
我这里举例输出,不过这样不太方便
[root@localhost desktop]# cat test.sh
#!/bin/bash
print()
{
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来指定。如果不指定,默认为函数中最后一个语句的返回值。
- 2楼网友:浪女动了心
- 2021-03-20 17:26
举例更直观 local就是用于定义只允许于指定区块(由{}决定)的变量:
y:root:/tmp> cat yyy
#!/bin/bash
a="abc"
func() {
local a="def"
echo "local: $a"
}
echo "global: $a"
func
y:root:/tmp> ./yyy
global: abc
local: def
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯