Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在unix中捕获文件本身输出的最佳方法_Bash_File_Unix_Scripting_Output - Fatal编程技术网

Bash 在unix中捕获文件本身输出的最佳方法

Bash 在unix中捕获文件本身输出的最佳方法,bash,file,unix,scripting,output,Bash,File,Unix,Scripting,Output,我这里的脚本是abc.sh,看起来像 #!/bin/bash date echo a echo b echo c ... 输出将是 a b c .... 我在这里试图实现的是,在文件末尾使用一个命令,捕获文件的输出,然后重定向到output.txt。我不想添加>>来将每个echo追加到输出文件中,因为我认为这不是一个好的做法。或者,是否有一种方法可以封装所有输出命令并将它们重定向到文件?比如: #!/bin/bash { date echo a echo b echo c ... } >

我这里的脚本是abc.sh,看起来像

#!/bin/bash
date
echo a
echo b
echo c
...
输出将是

a
b
c
....
我在这里试图实现的是,在文件末尾使用一个命令,捕获文件的输出,然后重定向到output.txt。我不想添加>>来将每个echo追加到输出文件中,因为我认为这不是一个好的做法。或者,是否有一种方法可以封装所有输出命令并将它们重定向到文件?比如:

#!/bin/bash
{
date
echo a
echo b
echo c
...
} > output.txt

这可以只用一个脚本来完成吗?或者我必须使用另一个脚本来调用abc.sh>output.txt?

您使用花括号给出的示例与您发布它的方式完全一样


另一种方法是在脚本中添加exec>output.txt作为shebang之后的第二行。脚本中的所有后续输出都将重定向到该文件。

您使用花括号给出的示例与您发布它的方式完全相同


另一种方法是在脚本中添加exec>output.txt作为shebang之后的第二行。脚本中的所有后续输出都将重定向到该文件。

为什么不abc.sh>output.txt。您可以使用tee在屏幕上显示并导出到output.txt:abc.sh | tee output.txt我知道我可以这样做,但我可以用脚本来处理它们吗?您可以设置一个名为oecho的函数,内容是echo$1>output,将脚本中的所有echo替换为oecho。您所拥有的内容如何不起作用?来自日期等命令的其他输出如何?为什么不使用abc.sh>output.txt。您可以使用tee在屏幕上显示并导出到output.txt:abc.sh | tee output.txt我知道我可以这样做,但我可以用脚本来处理它们吗?您可以设置一个名为oecho的函数,内容是echo$1>output,将脚本中的所有echo替换为oecho。你的脚本怎么不起作用?来自date等命令的其他输出如何?噢,哇,我从来没有尝试过,因为我认为这太天真了,认为它会起作用。噢,哇,我从来没有尝试过,因为我认为这太天真了,认为它不会起作用。