用shell脚本生成所有命令的说明文档[bak]


在无意间发现了这么给力的一个shell脚本,脚本本身并不复杂,用到的技巧也不多,但不得不给这种思路点个赞!自己在Linux系统上测试了,效果不错,后期可能会根据需要修改一下前端的展示(其实也就是多设置几个HTML属性),但是就现在来说,已经非常实用了:

#! /bin/bash

helpDir=man_pages
main_file=./$helpDir/index.html
cmds=`
{
    for j in ${PATH//:/ }
    do
        ls $j
    done
} | sort | uniq `

rm -f -r $helpDir
mkdir $helpDir

echo "<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> " >> $main_file
echo "<table border="1"><tr><th>命令</th><th>描述</th></tr>" >> $main_file

for i in $cmds
do
    echo "processing "$i"..."

    file=./$helpDir/${i}.html

    echo "<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> " >> $file
    echo "<p><a href="index.html">返回目录</a></p>" >> $file
    echo "<hr>" >> $file
    echo "<pre>" >> $file

    man $i >> $file 2>/dev/null &&
    {
        echo "</pre>" >> $file

        describ=`sed -n -e '/NAME/ {n;p;q}' $file | cut -f 2 -d '-'`

        echo "<tr>" >> $main_file
        echo "<td><a href="$i.html">$i</a></td>" >> $main_file
        echo "<td>$describ</td>" >> $main_file
        echo "</tr>" >> $main_file
    } ||
    rm $file
done

echo "</table>" >> $main_file

 

原文链接:

[Unix]根据man生成所有命令的说明文档

, ,

《 “用shell脚本生成所有命令的说明文档[bak]” 》 有 2 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注