Один метод, о котором я знаю, должен использовать xargs
узнать эту информацию.
$ xargs --show-limits --no-run-if-empty < /dev/null
Your environment variables take up 4791 bytes
POSIX upper limit on argument length (this system): 2090313
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2085522
Size of command buffer we are actually using: 131072
Предел это xargs
отображается происходит из этого значения конфигурации системы.
$ getconf ARG_MAX
2097152
Значения, такие как они обычно "трудно кодируются" в системе. Посмотрите man sysconf
для больше на этих типах значений. Я полагаю, что эти типы значений доступны в приложении C, например:
#include
...
printf("%ld\n", sysconf(_SC_ARG_MAX));
... или использовать что-то подобное, чтобы открыть файлы в текстовом редакторе:
... который также откроет несуществующие файлы, так что вы можете начать их редактирование.
Вот код для [114722]help-remind.sh[114723]:
shmgrate.exe OcinstallreinstallIE
HowTo: Linux / UNIX Create a Manpage - nixCraft[114936] упоминает разделы, синтаксис и т.д.
Создание пользовательских страниц Man | Linux Journal[114938] упоминает [114939]txt2man[114940] ([114941]sudo apt-get install txt2man[114942])
10.04 - Как добавить каталог в MANPATH или INFOPATH? - Спросим Ubuntu
Перезапустите терминал; все равно [114442]manpath[114443] не сообщает об этом каталоге. Теперь попробуем так:
grep -o pattern file
Закрыть и снова открыть терминал; наконец, мы получим:
for f in *\ *; do mv "$f" "${f// /_}"; done
На самом деле, после нахождения этого, я удалил строку из [114444]/etc/bash.bashrc[114445], и [114446]manpath[114447] все еще сообщает об этом каталоге. Так что, думаю, редактирование [114448]/etc/manpath.config[114449] - это все, что нужно.
Хорошо, давайте создадим здесь пример пользовательского файла-напоминания:
Перезапустите терминал ещё раз, попробуйте набрать [114454]man nm[114455] и нажмите TAB - автозавершение покажет, что [114456]nmcli-reminder[114457] не найден....
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Перезапустите терминал ещё раз; попробуйте набрать [114460]man nm[114461] и нажмите TAB - автозавершение наконец-то работает:
.... но теперь у нас проблема:
Чёрт возьми. Может быть, сейчас наш файл - [114462]nmcli-reminder.1. .gz[114463], указывая на раздел 1 - переименуем его:
... и [114464]наконец[114465] команда [114466]man[114467] работает!
Так что для этого случая использования, наверное, лучше всего хранить исходные файлы [114468].txt[114469] непосредственно в [114470]~/myreminderhelp/[114471], а затем генерировать man-страницы в соответствующей подпапке - как в:
. ...соответствующие команды генерации:
И вот скрипт [114472]~/myreminderhelp/buildreminders.sh[114473]:
EDIT: Оказывается, очень сложно заставить [114474]txt2man[114475] оставить буквальный исходный код неформатированным, так как он имеет тенденцию к автоматическому извлечению информации вроде [114476]man[114477] (sub)разделов и т.д. Я модифицировал скрипт выше, чтобы использовать [114478]pandoc[114479] вместо него (через [114480]WritingManPages - HerzbubeWiki[114481]) -- по крайней мере, с помощью [114482]pandoc[114483] с вводом Markdown, вы имеете некоторый контроль над тем, что является буквальным предварительно отформатированным текстом, а что нет ...
Однако, оба этих инструмента будут отступать от содержимого, как это типично для страницы [114484]man[114485] (так как там заголовки разделов не отступают, остальное текстовое содержимое, как в параграфах, есть). И я не уверен, что в конце концов мне это понравится...[114061].