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