装机后跑个一键优化脚本,结果满屏刷日志,根本看不清哪步成功哪步失败?或者想把安装过程的日志存下来,以后排查问题有据可查——这时候就得用上「输出重定向」了。
什么是输出重定向
简单说,就是让脚本本来该打在屏幕上那些文字(比如 echo 输出、命令执行结果、报错信息),不显示在终端里,而是乖乖写进一个文件里。就像给脚本装了个「日记本」,让它边干边记。
常用符号和写法
Windows 和 Linux/macOS 写法略有不同,但核心就三个符号:
>:覆盖写入(文件已存在就清空重来)>>:追加写入(原内容保留,新内容加在末尾)2>&1:把错误信息也一起重定向(Windows 用2>&1,Linux/macOS 同理)
Windows 批处理示例
比如你写了个 install.bat,里面执行了几个命令:
@echo off
echo 正在安装驱动...
pnputil /add-driver driver.inf /install > install.log 2>&1
echo 驱动安装完成!这行 > install.log 2>&1 就是关键——所有正常输出 + 报错都进了 install.log,CMD 窗口干干净净,只留提示语。
Linux/macOS Shell 脚本示例
装机时常用 Ubuntu Live 环境跑部署脚本,比如:
#!/bin/bash
echo "开始配置网络"
sudo apt update >> setup.log 2>&1
sudo apt install -y curl jq >> setup.log 2>&1
echo "软件安装完毕" >> setup.log这里用了 >>,每次运行都追加记录,适合多次调试或分阶段执行的装机流程。
实用小技巧
• 想同时看屏幕又存日志?Windows 可用 tee(需安装 Git for Windows 或 WSL),Linux/macOS 直接:./setup.sh 2>&1 | tee install_full.log
• 日志文件名带时间更清楚:myscript.sh > install_$(date +%Y%m%d_%H%M).log 2>&1
• 装机脚本开头加一句:exec > install.log 2>&1
后面所有输出自动进日志,不用每行都写重定向。
别小看这几个符号,装机从「手动盯屏」变成「甩手等结果+翻日志查问题」,就差这一行代码的事。