You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中如何实现代码重定向到不同行?

在Bash中将内容/输出重定向到多行的实用方法

1. Here Document(heredoc)——批量写多行的首选

这是最方便的多行写入方式,支持变量替换或者完全原样输出,只要定义好结束标记就行。

普通写入(支持变量展开)

# 直接把多行内容写入file.txt,$HOME这类变量会自动替换成实际值
cat > file.txt << EOF
这是第一行内容
第二行里的用户目录:$HOME
第三行随便写点啥
EOF

原样写入(不解析变量)

要是不想让变量被替换,给结束标记加单引号就行:

cat > file.txt << 'EOF'
这行里的$HOME会原封不动保留
第二行内容
第三行
EOF

2. Here String——简短多行快速写

如果内容不多,用$'...'转义换行符,配合echo就能快速输出多行:

# 覆盖写入文件
echo $'第一行\n第二行\n第三行' > file.txt

# 追加到文件末尾
echo $'第四行\n第五行' >> file.txt

3. 分步追加——灵活控制每一行

要是内容是分步生成的,每次用>>追加到文件,就能凑出多行:

# 先写第一行(覆盖原有内容)
echo "初始化第一行" > file.txt
# 追加第二行
echo "后续添加的第二行" >> file.txt
# 用printf也能写,适合带格式的内容
printf "第三行,带个制表符\t这里是内容\n" >> file.txt

4. 命令输出直接重定向

如果是要把命令的多行输出存到文件,直接用重定向符号就行,不用额外处理换行:

# 把ls的详细列表写入file.txt
ls -l > file.txt

# 把日志里的error行追加到文件
grep "error" app.log >> file.txt

内容的提问来源于stack exchange,提问作者user20689647

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:01:08