Я использую ronn . Вы просто напишите уценку, и она превратится в страницу руководства. Также существует (несколько менее способный) клон js под названием Mark-man .
Я документировал свои сценарии с его помощью, используя END_MAN
heredocs с разделителями, и мой код C / C ++, используя те же END_MAN
heredocs с разделителями
, за исключением / * * /
. Любой из них легко извлечь с помощью sed, а затем преобразовать в справочную страницу. (Немного взломав UNIX-сигналы вместе с inotifywait, вы можете извлекать и просматривать разделы справочной страницы в реальном времени и перезагружать браузер справочной страницы по мере обновления исходного кода.)
Что касается раздела, то 3 будет для пользователя -уровневая библиотека C. Вы можете прочитать о номерах разделов (среди прочего) в man (1) .
Если вы хотите увидеть несколько удобочитаемых, хорошо структурированных примеров справочных страниц, я бы взглянул на
Plan9 https://swtch.com/plan9port/unix/ библиотеки, в которых вы можете увидеть, как сами создатели c
и UNIX
и ее системы документации, вероятно, предназначались для того, чтобы эти вещи работали.
В Linux нет такой вещи, как пользовательский файл hosts,вы можете использовать HOSTALIASES, который работает с каноническими именами.
Если я правильно понял ваш вопрос, вы можете использовать службу динамического DNS, такую как DynDNS или No -IP, чтобы всегда иметь правильный общедоступный IP-адрес, назначенный вашим провайдером.
Затем вы можете использовать HOSTSALIASES для сопоставления exthost
с полным доменным именем, предоставленным динамической службой DNS.
Экспортируйте значение HOSTALIASES с помощью export HOSTALIASES=~/.hosts
, а затем добавьте следующую строку в файл ~/.hosts
, чтобы сопоставить exthost с именем FDQN, предоставленным, например, без -ip.
exthost yourname.no-ip.org
HOSTALIASES работает только с каноническими именами, а не с IP-адресами, поэтому вам следует использовать какую-либо динамическую службу DNS, чтобы иметь полное доменное имя, но вы можете просто использовать это полное доменное имя и полностью пропустить HOSTALIASES.
Я не думаю, что вы можете сделать это без настройки какой-либо службы DNS или создания сценария на удаленном сайте, чтобы всегда отправлять вам их общедоступный IP-адрес, а затем изменять этот IP-адрес в локальном /etc/hosts
файле.
Другим вариантом может быть либо предоставление пользователю разрешения на изменение /etc/hosts
, либо установка этого пользователя в среду chroot и предоставление ему собственного /etc/hosts
файла в его среде chroot.
Мои /etc/hosts:
127.0.0.1 localhost
127.0.1.1 *some-host*
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Так сказать:
sudo nano /etc/hosts
Добавить линию:
IPOFEXTHOST exthost
Где IPOFEXTHOST — известный IP-адрес exthost.
С этого момента вы можете написать скрипт для обновления файла, заменив строку, содержащую exthost. В любом случае, на одном из компьютеров должен быть установлен dyndns или нет -ip updater. Так что либо вы знаете веб-адрес exthost напрямую, либо exthost может знать адрес вашего другого компьютера, чтобы отменить ssh и обновить файл с его закрученным общедоступным IP-адресом.