将函数的返回值分配给unix shell脚本中的变量

Ana*_*omi 12 unix shell function

我试图打印从testfunction返回的值.但它没有显示任何东西.我曾经./filename.sh执行过脚本.请帮忙

#!/bin/ksh
testfunction()
{

k=5

return $k

}

val=$(testfunction)

echo  $val
Run Code Online (Sandbox Code Playgroud)

Wil*_*ell 28

函数返回的值存储在$?,但不会被捕获$().

换一种说法:

testFunction() 
{ 
    k=5
    echo 3
    return $k 
}

val=$(testFunction)
echo $? # prints 5
echo $val  # prints 3
Run Code Online (Sandbox Code Playgroud)