【发布时间】:2020-11-07 04:53:33
【问题描述】:
如何将函数中的值存储到 bash 中的变量中,该变量在每次运行代码时都会重置。我尝试了一些东西,但它在代码运行后打印了函数的值
【问题讨论】:
如何将函数中的值存储到 bash 中的变量中,该变量在每次运行代码时都会重置。我尝试了一些东西,但它在代码运行后打印了函数的值
【问题讨论】:
Bash 函数模仿进程的行为,但默认情况下在同一个 bash 进程中运行。当使用$() 语法调用函数时,它们会在子进程中运行。
传递参数并捕获函数的输出与处理进程的方式相同:
function f() { echo "Hello, $1!"; }
f_output=$(f "world")
echo "f output is: $f_output"
输出:
f output is: Hello, world!
要了解bash 及其工作原理,您可能需要阅读一本关于它的好书。
【讨论】:
bash 函数默认运行在同一个进程中。
$( )的内容会,所以在这种情况下它确实作为子进程运行。