如何将整个bash脚本的输出保存到文件中

3

我正在尝试将bash脚本的整个输出保存到文件中。我目前在代码的开头有一个参数(IP地址),看起来像这样:

#!/bin/bash

USAGE="Usage: $0 [<IP address>]"

if [ "$#" == "0" ]; then
        echo "$USAGE"
        exit 1
fi
ip_addr=$1

我希望添加另一个名为“output”的参数,将整个脚本的输出保存到其中。我知道可以直接运行“myscript.sh | tee textfile.txt”,但我想使脚本对其他人更易于运行。
谢谢, hcaw
1个回答

5
在使用说明后,添加以下行:
exec > "$2"

这将把剩余脚本的标准输出重定向到第二个参数指定的文件中。
然后使用以下命令运行:
myscript 192.0.2.42 output.txt

@hcaw 你可以硬编码输出文件的名称(就像你在问题中提到的“textfile.txt”),这样用户就不需要提供额外的命令行参数。 - Sagar Rakshe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接