请教一个关于shell函数返回值的问题
比如我有一个test.sh的文件,内容如下
fun(){
host=$1
return ping -c1 $host >/dev/null 2>&1
}
fun2(){
host=$1
ping -c1 $host >/dev/null 2>&1
return $?
}
fun hpcs09
echo "fun return is: "$?
fun2 hpcs09
echo "fun2 return is: "$?
运行这个文件之后发现fun()和fun2()的返回值分别是255和0。
请问熟悉shell的朋友这两种return的写法为什么得到的值不一样?
相关推荐
Shell中函数返回值超出问题
主要介绍了Shell中函数返回值超出问题,shell中通过return返回是有限制的,最大返回255,超过255,则从0开始计算,需要的朋友可以参考下
shell脚本返回值问题的解决
如果学习过高级语言比如java和c语言等,此时你要是获取一个函数的返回值,直接在函数里面写上return即可,然后在函数执行时将返回结果赋值给某个变量即可。但是在shell脚本中限制较多,因此如果我们想实现这样的功能的话,稍微困难一些,本人在实践中做了一些该方面的实验,并做笔记分享。 shell脚本的返回值可以使用return参数,但是return只能返回整数类型的值。因此实现比较复杂的功能的话shell脚本可能不太友好。 比如下面这个例子: #!/bin/bash function in_path(){ cmd=$1 path=$2 oldIFS=$IFS
Shell中关于处理方法返回值问题详解
最近工作接触到了一些Linux上面的文本处理,数据量还是蛮大的,不可避免的学期了shell,awk等脚本语言。下面这篇文章主要给大家介绍了关于Shell中关于处理方法返回值问题的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
详解shell 函数定义与调用
一、Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分—-表示可选(即可有可无) your_function_name部分—-为函数名 your_shell_commands部分—-为函数代码;shell一般以行为单位,但可以使用“\”换行,也可以在单行内使用“;”作为分隔符 return int部分—-shell函数可以有返回值,但只能返回整数不能返回字符串 [ function ] your_function_name() { your_shell_commands; [return int;] } 二、基本函数定义与调用
shell脚本返回值及其使用场景的实现
主要介绍了shell脚本返回值及其使用场景的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧



