heredoc 用一对自定义标记包裹多行文本,<<EOF 开头,结尾单独一行写 EOF。
标记必须顶格写,前后不能有空格,否则会报未找到结束符。
写文件用 cat 加重定向,把内容喂给命令则接在命令后面。
加引号的 <<'EOF' 不展开变量和反引号,写配置文件时更安全。
# 写配置文件:引号包住标记,$ 和反引号都原样保留
cat > /etc/app/app.conf <<'EOF'
listen=8080
debug=false
EOF
# 批量喂给命令:多行 SQL 一次灌进去
mysql -uroot -p app_db <<EOF
select now();
select count(*) from orders;
EOF
THE END






暂无评论内容