linux删除自定义命令,linux – 自定义帮助/类似男人的命令(用于...

扩大@SamiLaine关于使用man的评论 – 我不喜欢它的一个原因是因为我预计它的设置会很乏味,我认为这篇文章将证明这一点;但是,它似乎工作.首先,可以在这里找到一些介绍:

首先让我们创建目录并将其添加到MANPATH:

mkdir ~/myreminderhelp

echo 'MANPATH=$MANPATH:'$(echo ~/myreminderhelp) >> ~/.bashrc

让我们测试是否找到:关闭终端,打开一个新终端;然后:

manpath -d 2>&1 | grep myrem

不幸的是,这对我没有报道;即使echo $MANPATH说:?/ myreminderhelp.

尝试使用全局/etc/bash.bashrc(删除本地?/ .bashrc中的行,然后重新启动终端):

sudo bash -c "echo 'MANPATH=$MANPATH:'$(echo ~/myreminderhelp)" # check home dir printout

sudo bash -c "echo 'MANPATH=$MANPATH:'$(echo ~/myreminderhelp) >> /etc/bash.bashrc"

重启终端;仍然manpath不报告此目录.我们现在试试这个:

sudo bash -c "echo 'MANDATORY_MANPATH '$(echo ~/myreminderhelp) >> /etc/manpath.config"

关闭并重新打开终端;最后,我们得到:

$manpath

/usr/local/man:/usr/local/share/man:/usr/share/man:/media/extern/texlive/2011/bin/i386-linux/man:~/myreminderhelp

事实上,在找到这个之后,我从/etc/bash.bashrc删除了这行,manpath仍然报告了该目录.所以,我想编辑/etc/manpath.config就是所需要的.

好的,我们在这里创建一个示例自定义提醒文件:

echo "Just a bit of a reminder...

Use nmcli con --help" >> ~/myreminderhelp/nmcli-reminder.txt

然后使用txt2man获取一个man格式的文件,并将其gzip:

cat ~/myreminderhelp/nmcli-reminder.txt | txt2man > ~/myreminderhelp/nmcli-reminder.1

gzip ~/myreminderhelp/nmcli-reminder.1

再次重启终端,尝试输入man nm并按TAB键 – 自动完成显示找不到nmcli-reminder …

所以让我们尝试将我们的文件放在man section子文件夹中;上述链接表明第7节是适当的;所以:

mkdir ~/myreminderhelp/man7

mv ~/myreminderhelp/nmcli-reminder.* ~/myreminderhelp/man7/

tree ~/myreminderhelp # to check - ok

重新启动终端;尝试键入man nm并按TAB – 自动完成最终工作:

$man nmcli # and here press TAB:

nmcli nmcli-reminder

…但现在我们遇到了这个问题:

$man nmcli-reminder

No manual entry for nmcli-reminder

该死的.可能是目前,我们的文件是nmcli-reminder.1.gz,表示第1部分 – 让我们重命名它:

mv ~/myreminderhelp/man7/nmcli-reminder.1.gz ~/myreminderhelp/man7/nmcli-reminder.7.gz

man nmcli-reminder

……最后man命令有效!

因此对于这个用例,可能最好将源.txt文件直接保存在?/ myreminderhelp /中,然后在相应的子文件夹中生成手册页 – 如下所示:

$tree ~/myreminderhelp/

~/myreminderhelp/

├── man7

│?? └── nmcli-reminder.7.gz

└── nmcli-reminder.txt

…这个适当的生成命令:

cat ~/myreminderhelp/nmcli-reminder.txt | txt2man > ~/myreminderhelp/man7/nmcli-reminder.7

gzip ~/myreminderhelp/man7/nmcli-reminder.7

这是一个?/ myreminderhelp / buildreminders.sh脚本:

#!/usr/bin/env bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

for ix in $DIR/*.txt; do

bx=$(basename $ix)

isn=${bx%%.txt}

echo Processing $isn;

set -x

# txt2man -t "$isn" -s 7 $ix > $DIR/man7/${isn}.7

pandoc -f markdown -t man -s -o $DIR/man7/${isn}.7 $ix

gzip --force $DIR/man7/${isn}.7

{ set +x; } 2>/dev/null

done

tree -a $DIR

编辑:事实证明,很难让txt2man保留未格式化的文字源代码,因为它倾向于自动提取人(子)部分等信息.我已经修改了上面的脚本而不是使用pandoc(通过WritingManPages – HerzbubeWiki) – 至少使用带有Markdown输入的pandoc,你可以控制什么是文字预格式文本,什么不是…

但是,这两个工具都会缩进内容,这对于手册页来说是典型的(因为在那里,章节标题是非缩进的,其余的文本内容如段落中所示).而且我不确定我最终还是喜欢这么多……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值