把LINUX MAN PAGE生成为PDF文件的脚本

代码如下:
#! /bin/bash
  function usage
  {
         echo "Usage:"
         echo "    $(basename $0) section topic"
        echo ""
          echo "    For example:"
          echo "      $(basename $0) 1 bash"
  }

  [ $# != 2 ] &&
  {
          usage
          exit 1
 }

 SECTION=$1
  TOPIC=$2
 [ ${#SECTION} = 1 -a "$TOPIC" ] ||
  {
          usage
          exit 1
  }

  MANFILE=$(man -w -S"$SECTION" "$TOPIC" 2> /dev/null)
  [ $? = 0 ] ||
  {
          echo "error: man page for '$TOPIC($SECTION)' not found"
          exit 1
  }

  echo "Using man file '$MANFILE' ..."

  TMPDIR=/tmp
  MANDIR=$(dirname $MANFILE)
  MANFILE=$(basename $MANFILE)
  if [ "$MANFILE" = "${MANFILE%.gz}" ]; then
          cp $MANDIR/$MANFILE $TMPDIR
  else
          MANFILE=${MANFILE%.gz}
          gzip -dc $MANDIR/$MANFILE.gz > $TMPDIR/$MANFILE
  fi

  echo "**** $TOPIC($SECTION)" >> /$TMPDIR/$(basename $0).log

  GROFF=groff
  PS2PDF=ps2pdf13
  $GROFF -t -e -mandoc -Tps $TMPDIR/$MANFILE > $TMPDIR/$MANFILE.ps 2>> /$TMPDIR/$(basename $0).log
  if [ $? != 0 ]; then
          echo "$GROFF error"
          exit 1
  fi

  $PS2PDF $TMPDIR/$MANFILE.ps 2>> /$TMPDIR/$(basename $0).log
  if [ $? != 0 ]; then
          echo "$PS2PDF error"
          exit 1
  fi

  rm -f $TMPDIR/$MANFILE $TMPDIR/$MANFILE.ps
  ## THE END

用法: man2pdf.sh 8 grub  
          在当前目录下生成第8章 的GRUB 命令的PDF

手册分类

 

 参考:

中文MAN-PAGE计划  http://cmpp.linuxforum.net

Linux Man Pages Online http://man.he.net/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值