如何模拟bash中函数返回的任意值?

时间:2015-12-03 03:12:15

标签: bash function shell command-line

Bash函数只是语句而不返回值。任何人都可以分享编写在bash中返回值的函数的最佳实践吗?

假设我有一个连接两个字符串的函数:

function JoinStrings {
    returnValue="$1$2"
}

如何在我的代码中重用此功能?如何让returnValue返回给来电者?我应该在此函数调用之后将其用作全局吗?这会导致全局变量出现许多错误......如何在bash中实现代码重用?

2 个答案:

答案 0 :(得分:2)

输出值。

function JoinStrings {
    echo "$1$2"
}
JoinStrings a b         #ab
x=$(JoinStrings a bc)   #x is now abc

答案 1 :(得分:2)

您可以使用echo“返回”任意值:

join_strings() {
    echo "$1$2"
}

cat="cat"
dog="dog"
catdog=$(join_strings $cat $dog)
echo $catdog
# catdog