Shell 如何在递归函数中打印到文件而不丢失以前的内容?

Shell 如何在递归函数中打印到文件而不丢失以前的内容?,shell,recursion,printing,Shell,Recursion,Printing,我有一个递归函数,其中有两个递归调用(对自身),我想打印所有递归调用的结果,而不退出该函数。如果函数本身调用10次,我想打印10个结果。。。 我怎么做? (其全部在bash中(窗口上的shell)) 我试着: 但它只将最后一个结果放入文件您需要附加到而不是覆盖文件。I/O重定向操作符在写入文件之前截断文件,而>操作符在文件的末尾追加 当然,您应该在首次调用函数之前截断文件,否则每次调用都会追加文件。您可以使用null命令:和重定向: : > file # Crea

我有一个递归函数,其中有两个递归调用(对自身),我想打印所有递归调用的结果,而不退出该函数。如果函数本身调用10次,我想打印10个结果。。。 我怎么做? (其全部在bash中(窗口上的shell)) 我试着:


但它只将最后一个结果放入
文件

您需要附加到而不是覆盖
文件
。I/O重定向操作符
在写入文件之前截断文件,而
>
操作符在
文件的末尾追加

当然,您应该在首次调用函数之前截断
文件
,否则每次调用都会追加
文件
。您可以使用null命令
和重定向:

 : > file             # Create empty file or truncate nonempty file.
 recursive_function   # Appends to file.
 cat file             # Show result.

使用echo没有什么好处?echo只提供上次调用的结果您是否尝试了追加(
>
)而不是覆盖(
)?
 : > file             # Create empty file or truncate nonempty file.
 recursive_function   # Appends to file.
 cat file             # Show result.