shell 关闭和推出函数
本帖最后由 1cpuer 于 2018-02-14 08:33 编辑举例
echo {1..10}
echo {a..h}
我用的是 return
是关闭函数吗?
不大会用
# cat return.sh
#!/bin/bash
function test {
echo {1..10}
}
return
function hook {
echo {a..h}
}
hook
echo "hook execute result "$?
test
echo "test execute result "$?
shell 函数中的用exit时,什么情况下仅仅退出函数,什么情况下退出整个shell程序?
http://bbs.csdn.net/topics/320037026 本帖最后由 bigqueues 于 2018-02-14 09:14 编辑
没有"关闭函数"的概念。函数执行的返回值是由return来控制。
exit是用来控制当前shell(即$$进程)的返回码(exit code).
➜~
➜~ echo haha
haha
➜~ echo $$
60014
➜~ return 0
➜~ exit 0
随便开一个terminal,楼主觉得最后一个回车敲下去会发生什么? 是否看出return和exit区别了。
回复 2# bigqueues
#!/bin/bash
function test(){
echo 12bc
return 0
}
test
function test1(){
echo bc12
}
test1
如何 bc12 不打印?
POWERSHELL 学会了,就会变强 :mrgreen:
以后遇到问题,学学POWERSHELL即可。 回复 3# 1cpuer
#!/bin/bash
function test(){
echo 12bc
return 0
}
test
function test1(){
echo bc12
}
test1 &>/dev/null
echo不打印就是关闭标准输出呗
实际还是执行了。
回复 5# bigqueues
为什么 test 有个小括号;和没有有啥区别?
回复 1# 1cpuer
小师太,shell不适合你.
但是你可以学习POWERSHELL,
POWERSHELL只有 强 简 2个字.
学习shell却要看很多书,sed, awk, bash script, python, ruby, perl...
sed & awk
grep
bash 回复 8# dorodaloo
太师所云太强了,英文不太通 ?no sanke http://bbs.csdn.net/topics/110143073
页:
[1]