|
@@ -146,6 +146,10 @@ fun() {
|
|
good
|
|
good
|
|
% fun || echo bad
|
|
% fun || echo bad
|
|
bad
|
|
bad
|
|
|
|
+
|
|
|
|
+% fun
|
|
|
|
+# 也可以用 $? 获取函数返回值
|
|
|
|
+% echo $?
|
|
```
|
|
```
|
|
|
|
|
|
遇到 return 后,函数立即结束。return 即 return 0。
|
|
遇到 return 后,函数立即结束。return 即 return 0。
|
|
@@ -228,7 +232,7 @@ echo good
|
|
|
|
|
|
执行的话,在 test.zsh 所在目录,运行 zsh test.zsh 加参数即可(就像调用了一个名为 zsh test.zsh 的函数。也可以 chmod u+x test.zsh 给它添加可执行权限后,直接运行 ./test.zsh 加参数。
|
|
执行的话,在 test.zsh 所在目录,运行 zsh test.zsh 加参数即可(就像调用了一个名为 zsh test.zsh 的函数。也可以 chmod u+x test.zsh 给它添加可执行权限后,直接运行 ./test.zsh 加参数。
|
|
|
|
|
|
-脚本的参数处理方法,和函数的完全一样,这里就不举例了。
|
|
|
|
|
|
+脚本的参数和返回值的处理方法,和函数的完全一样,这里就不举例了。
|
|
|
|
|
|
但函数和脚本中执行的时候是有区别的,函数是在当前的 zsh 进程里执行(也可以调用的时候加小括号在子进程执行),而脚本是在新的子进程里执行,执行完子进程即退出了,所以脚本中的变量值外界是访问不到的,无需使用 local 定义(使用也没问题)。
|
|
但函数和脚本中执行的时候是有区别的,函数是在当前的 zsh 进程里执行(也可以调用的时候加小括号在子进程执行),而脚本是在新的子进程里执行,执行完子进程即退出了,所以脚本中的变量值外界是访问不到的,无需使用 local 定义(使用也没问题)。
|
|
|
|
|
|
@@ -239,3 +243,9 @@ echo good
|
|
### 总结
|
|
### 总结
|
|
|
|
|
|
本文简单介绍了函数和脚本的写法,重点是参数处理和返回值等等,还有很多没覆盖的地方,以后可能继续补充。
|
|
本文简单介绍了函数和脚本的写法,重点是参数处理和返回值等等,还有很多没覆盖的地方,以后可能继续补充。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 更新历史
|
|
|
|
+
|
|
|
|
+20170901:增加用 $? 获取函数返回值的内容。
|