linux shell 自定义加法函数 急求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 自定义加法函数 急求相关的知识,希望对你有一定的参考价值。

程序如下:
#!/bin/sh

function fSum()



echo $1,$2

return $(($1+$2))



total=$(fSum
3 2)

echo $total,$?

为什么total的值不是5? 执行 sh -x test.sh 后,得到的total为 3 2,而函数fSum里return的值确实是5,$?的值是5

$?是返回最近一条命令的返回值,echo $total,$?的意思是返回echo $total的返回值,这里肯定是成功返回,自然是0了,如果需要fSum返回值,那么需要在fSum命令后直接$?即可.

subShellInfo=$(fSum 3 2)
total=$?
echo $total,$?
那么就显示5 0

其中subShellInfo是子进程中所有输出信息,第一个$?是子进程返回值
参考技术A bash function 结果都是程序结束打印出的内容,你的函数输出值是 ehco输出的。

return 返回的值,一般用来表示程序的状态是正常结束,还是错误结束。

跟一些高级语言不一样。
参考技术B 楼主理解错了,在sh的函数中return是返回的是执行结果也就是$?,而函数的返回结果就是echo $1,$2.

linux 如何自定义命令函数?

想要自定义一个命令cuts,完成一些简单的功能。
可是总是无法执行。
请教一下,linux中是如何自定义命令函数的。
我是想在shell下定义一个函数

其实我就是按照
function cuts ()
echo "Hello world"


这种形式写得。
问题是始终执行不了。
不知道是哪里的问题。

你是想问在shell(比如说bash)下如何定义一个函数cuts吗?

如果是bash,那么就直接在shell 下输入以下内容

function cuts ()
echo "Hello world"


然后就可以在当前终端下调用cuts了,比如
$ cuts
Hello world

如果你是想在某个脚本中调用函数cuts,那么只要把上面那段代码加入脚本中,也就可以用了,比如

#!/bin/bash

function cuts ()

echo "Hello world"


....
cuts
....
参考技术A 这个与shell有关,sh可以下面这样写:
cuts()
....命令....
参考技术B 可以这么写
hello()

echo "hello"


hello

以上是关于linux shell 自定义加法函数 急求的主要内容,如果未能解决你的问题,请参考以下文章

linux实操_shell自定义函数

Linux之自定义的 Shell 函数和函数库

转 linux shell自定义函数(定义返回值变量作用域)介绍

shell脚本如何自定义函数

自定义加法函数Add

shell定义一个函数,使用循环,在一行显示1 2 3 4 5 6 7