我试图打印从testfunction返回的值。但是它什么也没显示。我使用./filename.sh执行脚本。请帮忙

#!/bin/ksh
testfunction()
{

k=5

return $k

}

val=$(testfunction)

echo  $val

最佳答案

该函数返回的值存储在$?中,而没有被$()捕获。

换一种说法:

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

val=$(testFunction)
echo $? # prints 5
echo $val  # prints 3

10-08 03:56