我试图做一个脚本来将一些输出从一些函数重定向到一个文件。这是我的代码的样子。Bash将多个函数的输出重定向到一个文件
#!/bin/bash
touch /var/log/test.log
results=/var/log/test.log
outputFormat()
{
echo "This is outputFormat" >> results
}
outputParseFull()
{
echo "This is outputParseFull" >> results
outputFormat;
}
outputParseFull;
运行后,会创建/var/log/test.log,但文件本身是空白的。我想让该文件包含以下
这是outputParseFull
这是OUTPUTFORMAT
一号线必须从每个功能。我在这里做错了什么?
+1''bash'语法的一个不明确的角落是,您还可以将输出重定向应用于函数的定义:'outputParseFull(){...; }>“$ results”'。这将重定向每个调用的函数的标准输出(也就是说,每个调用都会覆盖文件的内容;每次调用该函数时都使用'>>“$ results”'附加到文件中)。 – chepner 2014-09-11 12:57:11
@chepner - WOW - 这对我来说是新的。去阅读它。 THANX! ;) – jm666 2014-09-11 12:59:33