我想制作一个.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
。应用相同的>
和>>
逻辑。