LINUX.ORG.RU

Реализация «man page» в собственном скрипте на bash


0

1

Добрый день! Не подскажете какой-нибудь изящный способ реализации собственной man-страницы для скрипта, который поддерживает различные ключи? Хотелось бы,чтобы после выполнения ./script --help отображался вывод, подобный man ls.


a просто man из скрипта запустить если, с нужной страницей?

Harald ★★★★★
()

Страшно представить что у вас там за скрипт.
Если же всё реально не так страшно, то можно обойтись и

#!/bin/bash
if [ "$1" == "--help" -o "$1" == "-h" ]
then
{
    echo "Usage: blah-bla-bla"
    exit 1
}
...
...

zolden ★★★★★
()
Ответ на: комментарий от zolden
#!/bin/bash
if [ "$1" == "--help" -o "$1" == "-h" ]
then
{
    echo <<WHYHEREDOCISBETTER
Heredoc удобнее, потому что с его использованием можно выводить многострочные сообщения одной командой же.

Такие, как вот это например.

Ещё он поддерживает подстановку переменных и прочие ништяки: http://tldp.org/LDP/abs/html/here-docs.html
WHYHEREDOCISBETTER

    exit 0
}
Hoodoo ★★★★★
()
Последнее исправление: Hoodoo (всего исправлений: 1)
Ответ на: комментарий от Hoodoo

выглядит интересно, но у меня почему-то не работает

obama@whitehouse:~ # ./test.sh --help
./test.sh: line 15: syntax error: unexpected end of file

zolden ★★★★★
()

В баше, кстати, есть веселая штука: getopt, которая позволяет не париться по поводу порядка и количества аргументов.

P.S. А вот интересно, нет ли какой штуки, чтобы в сях можно было упростить работу с аргументами: а то очень тяжко соблюдать, чтобы нигде не пропустить новый аргумент (в списке коротких, списке длинных, хелпе).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от zolden

Действительно. С echo не хочет. С cat работает например.

Hoodoo ★★★★★
()
Ответ на: комментарий от Eddy_Em

А вот интересно, нет ли какой штуки, чтобы в сях можно было упростить работу с аргументами: а то очень тяжко соблюдать, чтобы нигде не пропустить новый аргумент (в списке коротких, списке длинных, хелпе).

popt, glib GOption

ananas ★★★★★
()
Ответ на: комментарий от Eddy_Em

Есть 100500 библиотек, которые прекрасно выполняют свою работу.

bk_ ★★
()
Ответ на: комментарий от Artificial_Thought

Дурость какая-то писать g_int и т.п. Да и названия у функций идиотские. И функционала никакого полезного почти нет, а траха в 100500 раз больше.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

И функционала никакого полезного почти нет, а траха в 100500 раз больше.

ты просто не умеешь его готовить

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.