我有一个脚本,提示用户选择'y'或'n'等选项。 如果选择“y”,则脚本继续执行,如果选择“n”,则停止。
我希望将此文件的输出重定向到日志文件。所以在命令下面使用: -
./script stop >> script_RUN.log 2>&1
问题是,脚本开始运行但没有提示询问'y'或'n'等选项 它正在写入script_RUN.log。
如何让脚本提示用户输入选项并将进一步执行重定向到script_RUN.log?
答案 0 :(得分:2)
您可以尝试使用tee
命令。
./script stop | tee script_RUN.log
注意:强>
仅保存程序的输出。
修改强>
如果您不想在控制台上看到输出,只需将其重定向到/dev/null
例如:
./script stop | tee script_RUN.log > /dev/null
以上行会将文件写入日志,但在控制台上 NOT 打印输出
答案 1 :(得分:1)
这就像真的一样。您从一开始就重定向stdout和stderr输出。相反,您应该在提示后尝试在脚本中重定向它。我认为这对你有帮助:
redirect COPY of stdout to log file from within bash script itself