本文目录导读:

我可以为你介绍几种在Shell脚本中将Markdown转换为HTML的方法:
使用 Pandoc(推荐)
#!/bin/bash
# 安装:sudo apt-get install pandoc
# 基本转换
pandoc input.md -o output.html
# 带样式转换
pandoc input.md -o output.html --css=style.css
# 使用模板
pandoc input.md -o output.html --template=template.html
# 批量转换所有md文件
for file in *.md; do
pandoc "$file" -o "${file%.md}.html"
done
使用 markdown 命令行工具
#!/bin/bash
# 安装:sudo apt-get install markdown
# 基本转换
markdown input.md > output.html
# 批量处理
for file in *.md; do
markdown "$file" > "${file%.md}.html"
done
使用 cmark (CommonMark)
#!/bin/bash
# 安装:sudo apt-get install cmark
# 基本转换
cmark input.md > output.html
# 批量处理
for file in *.md; do
cmark "$file" > "${file%.md}.html"
done
完整的Shell脚本示例
#!/bin/bash
# convert_md_to_html.sh
# 检查参数
if [ $# -lt 1 ]; then
echo "用法: $0 <input.md> [output.html]"
exit 1
fi
INPUT_FILE="$1"
OUTPUT_FILE="${2:-${INPUT_FILE%.md}.html}"
# 检查文件是否存在
if [ ! -f "$INPUT_FILE" ]; then
echo "错误: 文件 $INPUT_FILE 不存在"
exit 1
fi
# 检查工具是否可用
if command -v pandoc &> /dev/null; then
echo "使用 Pandoc 转换..."
pandoc "$INPUT_FILE" -o "$OUTPUT_FILE"
elif command -v markdown &> /dev/null; then
echo "使用 markdown 转换..."
markdown "$INPUT_FILE" > "$OUTPUT_FILE"
elif command -v cmark &> /dev/null; then
echo "使用 cmark 转换..."
cmark "$INPUT_FILE" > "$OUTPUT_FILE"
else
echo "错误: 未找到合适的转换工具"
echo "请安装: pandoc, markdown 或 cmark"
exit 1
fi
echo "转换完成: $OUTPUT_FILE"
批量转换脚本
#!/bin/bash
# batch_convert.sh
# 检查参数
SEARCH_DIR="${1:-.}"
# 查找所有md文件并转换
find "$SEARCH_DIR" -name "*.md" -type f | while read file; do
output="${file%.md}.html"
echo "转换: $file -> $output"
if command -v pandoc &> /dev/null; then
pandoc "$file" -o "$output"
else
echo "请安装 pandoc"
exit 1
fi
done
echo "所有文件转换完成"
安装方法
# Ubuntu/Debian sudo apt-get update sudo apt-get install pandoc # 或 sudo apt-get install markdown # 或 sudo apt-get install cmark # macOS brew install pandoc brew install markdown brew install cmark
使用建议
- Pandoc 功能最强大,支持多种格式
- cmark 遵循CommonMark标准,转换结果标准化
- markdown 是最简单的选择
选择哪个工具取决于你的具体需求,Pandoc是最全面的选择。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播