# BINMAN-HELP 1 2016-02-28 5.1.0 ## NAME binman-help - add help options to your program ## SYNOPSIS `binman-help` *FILE* ... [`-h`|`--help` [*PATTERN*]] ... [`--`] ... ## DESCRIPTION If the given argument sequence contains `-h` or `--help`, except after `--`, then this program displays the given *FILE*'s "embedded manpage source", described in binman-text(1), and then terminates with exit status `0`. Otherwise, this program terminates with the nonzero exit status `111`. ### Examples See "Embedded manpage sources" in binman-text(1) for header comment syntax. #### From a shell script ```sh #!/usr/bin/sh # your program's manual page goes here binman-help "$0" "$@" && exit ``` #### From a Ruby script ```ruby #!/usr/bin/env ruby # your program's manual page goes here require 'binman' BinMan.help ``` You can also specify your program's source file encoding above the manual: ```ruby #!/usr/bin/env ruby # -*- coding: utf-8 -*- # your program's manual page goes here ``` You can also write the manual as a multi-line Ruby comment: ```ruby #!/usr/bin/env ruby =begin your program's manual page goes here =end ``` You can also specify your program's source file encoding above the manual: ```ruby #!/usr/bin/env ruby # -*- coding: utf-8 -*- =begin your program's manual page goes here =end ``` #### From a Perl script ```perl #!/usr/bin/env perl # your program's manual page goes here system('binman-help', __FILE__, @ARGV) == 0 and exit; ``` You can also write the manual as a multi-line Ruby comment after `__END__`: ```perl #!/usr/bin/env perl print "your program's code goes here"; __END__ =begin your program's manual page goes here =end ``` #### From a Python script ```python #!/usr/bin/env python # your program's manual page goes here import sys, subprocess subprocess.call(['binman-help', __file__] + sys.argv) == 0 and sys.exit() ``` You can also specify your program's source file encoding above the manual: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- # your program's manual page goes here ``` You can also write the manual as a multi-line Ruby comment inside a docstring: ```python #!/usr/bin/env python """ =begin your program's manual page goes here =end """ ``` You can also specify your program's source file encoding above the manual: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- """ =begin your program's manual page goes here =end """ ``` #### From an AWK script The technique for determining current AWK script file name [comes from here]( http://www.mombu.com/programming/programming/t-the-name-of-script-itself-2040784-print.html ). ```awk #!/usr/bin/awk -f # your program's manual page goes here BEGIN {getline c <"/proc/self/cmdline"; sub(".*-f\0"," ",c); gsub("\0"," ",c); if(system("binman-help" c) == 0){ exit }} ``` #### From a Tcl script ```tcl #!/usr/bin/env tclsh # your program's manual page goes here if {![catch {exec -- >/dev/tty binman-help $argv0 {*}$argv}]} {exit} ``` You can also write the manual as a multi-line Ruby comment inside an `if 0`: ```tcl #!/usr/bin/env tclsh if 0 { =begin your program's manual page goes here =end } ``` #### From a Node.js script ```javascript /* =begin your program's manual page goes here =end */ var exec = require('child_process').exec; exec(['>/dev/tty', 'binman-help', __filename].concat(process.argv). join(' '), function(error){ if (error === null){ process.exit(); } }); ``` ## OPTIONS `-h` [*PATTERN*], `--help` [*PATTERN*] Display manpage and optionally search for *PATTERN* regular expression. ## EXIT STATUS 0 Arguments contained help options so manpage was displayed. 111 Arguments lacked help options so manpage was not displayed. ## SEE ALSO binman-text(1), binman-roff(1), binman-html(1), binman-show(1), binman(1)