在Bash中重定向输出

时间:2014-04-22 18:37:49

标签: bash redirect output

我的目标是编写一个脚本,将bash命令的输出重定向到新文件夹。 我正在使用的命令生成一个输出,包括几个不同的文件和文件类型,一些文件夹等。我相对较新,我很困惑,因为当我希望输出时我知道很热,当它是简单的事情比如:

echo“blah blah”> /some/location/file.txt

但是我遇到麻烦的地方是试图用不知名的名字重定向多个不同的东西。 (即在上面的示例中,如果我不知道输出应该标题为file.txt或甚至是其文本) 非常感谢帮助

2 个答案:

答案 0 :(得分:1)

>之后的单词经历了通常的扩展,因此您可以编写类似

的代码
output_file=/some/location/file.txt

echo "blah blah" > "$output_file"

无论output_file的价值如何,它都会有效。

答案 1 :(得分:0)

如果您运行的命令正在为当前工作目录生成具有相对路径的多个文件,则处理它的最简单方法是创建一个单独的目录并从那里运行它。 / p>

例如,如果您想运行命令10次并且没有文件互相破坏,那么您可以这样做:

for run in `seq 1 10`; do mkdir $run; pushd $run; mycommand; popd; done

这将创建十个目录,命令可能会将其输出放入其运行的目录中。