如何将linux命令行输出保存到.txt文件中



我想制作一个.sh可执行文件,输入一个终端命令,并将输出保存到.txt文件中。

例如,获取i2cdump的输出并保存到文件中。终端命令是

i2cdump -r -y 0x0-6 0 0x68
"outputs the specified bytes 0x0-6 to terminal window"

如何使用.sh可执行文件自动执行此操作,并将输出保存到存储在/dir/中的文件中?

我有一些myfile.sh:的伪代码

#!/bin/bash
output=$(i2cdump -r -y 0x0-6 0 0x68)
FILE * fp;
// write output to file
// save to directory
close(fp)

您可以像这样使用shell重定向:

echo "Hello world" > greetings.txt

或者满足您的需求:

#!/bin/bash
i2cdump -r -y 0x0-6 0 0x68 > output.txt
# closing is automatic at the end of redirecting.

Bash手册中关于标准输出流shell重定向的一般信息:重定向

任何命令都可以有>附加到它以重定向输出。如:

echo "foo" > /path/to/file

注意,有两件事你应该知道:1〃>quot;正在覆盖文件,而>gt;正在附加。如:

echo "foo" > /path/to/file

文件内容将是:

foo

同时

echo "foo" > /path/to/file
echo "foo2" >> /path/to/file

文件内容将是:

foo

foo2

此外,如果要重定向错误,可以使用2操作数。如:

cat /path/to/non-existing-file 2> /outputfile

将所有操作的错误写入outputfile。应用相同的>>>逻辑。

相关内容

  • 没有找到相关文章

最新更新