网站首页 > 基础教程 正文
默认情况下,bash脚本中的函数不能返回值。但有一些解决方法可能会在一定程度上有所帮助。
与其他编程语言不同,bash 中的函数不返回任何值。相反,它返回退出状态或指示执行成功或失败的数值。
首先,让我们看看问题所在。
首先,我分享一个简单的Python程序来看看通用的编程语言如何通过函数返回值:
运行它,可以得到如下结果
上面例子中,定义了一个add的函数,可以返回计算的结果.
遗憾的是,bash中的函数不是这样工作的,它们给出的是函数中使用的最后一个命令的退出状态,退出状态可以是 0(成功)或非零(失败)。
bash中有一个特殊的变量$?表达退出状态。来看一个例子:
运行它,可以得到如下结果
可以看到,返回0表示函数执行成功!
现在,让我们看看如何使 bash 函数返回值。
有两种方法可以使 bash 函数返回值:
1.使用标准输出数据流(涉及使用 echo 或 print 命令)
2.使用全局变量
当然,它与Python或其他编程语言中的返回值不同,但在许多情况下可以达到类似效果。
方法一:使用标准输出数据流
如果你不知道数据流,操作系统中有3种数据流:标准输入、标准输出和标准错误。每个都用于不同的任务。
此方法中使用 echo 或 printf 命令来使用标准输出数据流。
简而言之,该方法把函数的输出发送到标准输出数据流以打印输出(printf 或 echo 命令)。
运行它:
该例子首先将变量字符串通过echo命令打印到标准输出流中,之后通过$(表达式)的方式将该字符串取回来.
方法2:使用全局变量
默认情况下,bash 中的每个变量都是全局变量,要使用局部变量,必须在为其赋值之前使用修饰词local。
来看这个例子:
运行它:
总体而言,这两种方法都不是特别完美.但是bash脚本本身不是解决通用问题的编程语言,偶尔用一下非主流的解决方案以解决非常规问题也是可以接受的.
猜你喜欢
- 2024-10-12 这个为生信学习打造的开源Bash教程真香!!(目录更新)
- 2024-10-12 Shell 函数(杰哥教你Linux) shell中函数
- 2024-10-12 Linux下程序是怎样执行的 linux怎么执行程序
- 2024-10-12 这几个常用 alias,带你高效做事(下)
- 2024-10-12 Shell脚本:函数语法以及实例讲解 shell脚本入门详解
- 2024-10-12 Linux 之 bash 编程 linux bash-4.1
- 2024-10-12 Bash函数:ucase、lcase:借助perl一键转换字符串为大小或小写
- 2024-10-12 Bash Shell制作菜单3部曲:1简单交互菜单|Linux|运维|嵌入式
- 2024-10-12 Bash脚本中的用户交互:暂停、等待按键和倒计时的实现方法
- 2024-10-12 bash问题:是否有函数可以返回字符串的长度?
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)