Handbuchseiten für Git Bash unter Windows 7

19

Ich verwende Git Bash unter Windows 7. Es bietet mir eine Möglichkeit, die meisten Befehle zu verwenden, die ich für die Bash-Shell auf meinem Ubuntu-Computer verwendet habe. Aber der Mann und die Info-Befehle funktionieren nicht. Gibt es eine Möglichkeit, diese (unglaublichen) Dokumentationsbefehle auf der Git-Bash-Shell unter Windows zum Laufen zu bringen?

Prasanth
quelle

Antworten:

2

Sie können die Online-Dokumentation verwenden.

Linux-Handbuchseiten online & GNU-Infoseiten

Sathyajith Bhat
quelle
Gibt es Programme, die über die Befehlszeile eine Verbindung zu diesen Webseiten herstellen und das Ergebnis anzeigen? damit ich noch info grep auf die shell tippen und dort die ergebnisse bekommen kann?
Prasanth
1
@Prasanth vielleicht kannst du eine wget <URL> machen & dann grep es.
Sathyajith Bhat
oder er könnte das tun curl "http://man.he.net/?topic=<command_name>&section=all". Ersetzen Sie die <command_name>mit dem Befehl, den Sie suchen
Mr5
7

Es kann ein bisschen zu viel des Guten, aber man konnte herunterladen Cygwin , welche würden bash, manund Informationen Lesern wie pinfo.

Mit dem Cygwin-Installationsprogramm können Sie Ihre Installation so anpassen, dass sie eine ziemlich kleine Teilmenge von Cygwin darstellt.

Reiche Homolka
quelle
2
Nicht im geringsten übertrieben; Es scheint ziemlich üblich zu sein, dass jemand eine Unixy-Erfahrung unter Windows machen und Git Bash fälschlicherweise installieren möchte. Cygwin liefert mittlerweile tatsächlich eine, wahrscheinlich im größtmöglichen oder nahezu größtmöglichen Umfang.
Aaron Miller
6

Sie können Manpages für die Bash-Umgebung von Git zum Laufen bringen, aber es ist wahrscheinlich bequemer, andere Alternativen in Betracht zu ziehen, die weniger Arbeit erfordern.

Ich habe auch nicht viele Repräsentanten bei SuperUser, daher kann ich leider nicht alle Links angeben, die ich in der Antwort benötige. Ich habe meine Antwort erneut auf Tumblr gepostet .

In Summe:

  • Git Bash ist ein Teil des msysGit-Projekts.
  • msysGit ist eine Abzweigung des MinGW- und MSYS-Projekts
  • Sie benötigen entweder msysGit oder MinGW, um MinGW-get zu installieren
  • Sie benötigen MinGW-get, um Groff zu installieren
  • Sie benötigen Groff, um diese Skripte auszuführen , damit Sie einen man-Befehl aus der msys-bash-Shell heraus erhalten
  • Mit diesen Skripten können Sie Manpages lesen. Sie müssen sie nur auf den Pfad herunterladen, den Sie in den Skripten angegeben haben.

Viel Glück.

Dave
quelle
2
Sie können Mann mit installieren MinGW-get install msys-man. Man ist auch als Windows-Binärdatei verfügbar: sourceforge.net/projects/ezwinports/files (zu finden über die FAQ: mingw.org/wiki/FAQ#toc10 ). Diese Seite hat auch groff. Beides würde wahrscheinlich schneller laufen als diese Skripte.
Sam Hasler
@SamHasler msys-man ist super. Danke für den Tipp, ich weiß nicht, wie ich das verpasst habe.
Dave
4

Ich habe einige der anderen Antworten zusammengefügt, um einen manBefehl zu erhalten, den Sie wie von Haus aus verwenden können. Stecken Sie einfach Folgendes in Ihr .bashrcund entweder sourcees, oder öffnen Sie Ihr Terminal erneut.

function man {
    local section=all
    if [[ "$1" =~ ^[0-9]+$ ]]; then section="$1"; shift; fi
    local doc="$(curl -v --silent --data-urlencode topic="$@" --data-urlencode section="$section" http://man.he.net/ 2>&1)"
    local ok=$?
    local pre="$(printf '%s' "$doc" | sed -ne "/<PRE>/,/<\/PRE>/ { /<PRE>/ { n; b; }; p }")"
    [[ $ok -eq 0 && -n "$pre" ]] && printf '%s' "$pre" | less || printf 'Got nothing.\n' >&2
    return $ok
}

Sie unterstützt auch das Anfordern bestimmter Man-Abschnitte, beispielsweise man 3 printffür den Systemaufruf.

Schwächen: Die Quelle (man.he.net) ist keine REST-konforme API und gibt 200 zurück, auch wenn nichts gefunden wird. Daher ist es schwierig, genaue Fehlermeldungen zu geben. Stattdessen wird nur "Got nothing" ausgegeben, egal was das Problem war. Dies kann wahrscheinlich verbessert werden. Die resultierende Seite enthält auch HTML-Entitäten, wie beispielsweise &lt;anstelle von <, wodurch einige Verwendungszeichenfolgen hässlich werden.

Pianosaurus
quelle
2

Zusätzlich zu Sathyas Antwort können Sie dies auch in bash für Windows tun:

curl -v --silent "http://man.he.net/?topic=<command_name>&section=all" 2>&1 | sed -n "/<PRE>/,/<\/PRE>/p"

Ersetzen <command_name>Sie einfach das mit dem Befehl, den Sie suchen.

Beispielausgabe für den Befehl ls:

<PRE> ÜBERSICHT ls [OPTION] ... [DATEI] ...

BESCHREIBUNG Listet Informationen zu den DATEIEN auf (standardmäßig das aktuelle Verzeichnis). Einträge alphabetisch sortieren, wenn weder -cftuvSUX noch --sort angegeben ist.

   Mandatory  arguments  to  long  options are mandatory for short options
   too.

   -a, --all
          do not ignore entries starting with .

   -A, --almost-all
          do not list implied . and ..

   --author
          with -l, print the author of each file

   -b, --escape
          print C-style escapes for nongraphic characters

   --block-size=SIZE
          scale   sizes   by   SIZE   before   printing    them.     E.g.,
          `--block-size=M'  prints sizes in units of 1,048,576 bytes.  See
          SIZE format below.

   -B, --ignore-backups
          do not list implied entries ending with ~

   -c     with -lt: sort by, and show, ctime (time of last modification of
          file  status  information)  with -l: show ctime and sort by name
          otherwise: sort by ctime, newest first

   -C     list entries by columns

   --color[=WHEN]
          colorize the output.   WHEN  defaults  to  `always'  or  can  be
          `never' or `auto'.  More info below

   -d, --directory
          list  directory entries instead of contents, and do not derefer-
          ence symbolic links

   -D, --dired
          generate output designed for Emacs' dired mode

   -f     do not sort, enable -aU, disable -ls --color

   -F, --classify
          append indicator (one of */=&gt;@|) to entries

   --group-directories-first
          group directories before files.

          augment  with  a  --sort option, but any use of --sort=none (-U)
          disables grouping

   -G, --no-group
          in a long listing, don't print group names

   -h, --human-readable
          with -l, print sizes in human readable format (e.g., 1K 234M 2G)

   --si   likewise, but use powers of 1000 not 1024

   -H, --dereference-command-line
          follow symbolic links listed on the command line

   --dereference-command-line-symlink-to-dir
          follow each command line symbolic link that points to  a  direc-
          tory

   --hide=PATTERN
          do  not  list implied entries matching shell PATTERN (overridden
          by -a or -A)

   --indicator-style=WORD
          append indicator with style WORD to entry names: none (default),
          slash (-p), file-type (--file-type), classify (-F)

   -i, --inode
          print the index number of each file

   -I, --ignore=PATTERN
          do not list implied entries matching shell PATTERN

   -k     like --block-size=1K

   -l     use a long listing format

   -L, --dereference
          when showing file information for a symbolic link, show informa-
          tion for the file the link references rather than for  the  link
          itself

   -m     fill width with a comma separated list of entries

   -n, --numeric-uid-gid
          like -l, but list numeric user and group IDs

   -N, --literal
          print  raw entry names (don't treat e.g. control characters spe-
          cially)

   -o     like -l, but do not list group information
          enclose entry names in double quotes

   --quoting-style=WORD
          use  quoting style WORD for entry names: literal, locale, shell,
          shell-always, c, escape

   -r, --reverse
          reverse order while sorting

   -R, --recursive
          list subdirectories recursively

   -s, --size
          print the allocated size of each file, in blocks

   -S     sort by file size

   --sort=WORD
          sort by WORD instead of name: none -U, extension  -X,  size  -S,
          time -t, version -v

   --time=WORD
          with  -l,  show time as WORD instead of modification time: atime
          -u, access -u, use -u, ctime -c, or  status  -c;  use  specified
          time as sort key if --sort=time

   --time-style=STYLE
          with  -l, show times using style STYLE: full-iso, long-iso, iso,
          locale, +FORMAT.  FORMAT is interpreted like `date';  if  FORMAT
          is  FORMAT1&lt;newline&gt;FORMAT2, FORMAT1 applies to non-recent files
          and FORMAT2 to recent files; if STYLE is prefixed with `posix-',
          STYLE takes effect only outside the POSIX locale

   -t     sort by modification time, newest first

   -T, --tabsize=COLS
          assume tab stops at each COLS instead of 8

   -u     with  -lt:  sort  by, and show, access time with -l: show access
          time and sort by name otherwise: sort by access time

   -U     do not sort; list entries in directory order

   -v     natural sort of (version) numbers within text

   -w, --width=COLS
          assume screen width instead of current value

   -x     list entries by lines instead of by columns

   -X     sort alphabetically by entry extension

   -Z, --context
          print any SELinux security context of each file

   Using color to distinguish file types is disabled both by  default  and
   with  --color=never.  With --color=auto, ls emits color codes only when
   standard output is connected to a terminal.  The LS_COLORS  environment
   variable can change the settings.  Use the dircolors command to set it.

Ausgangsstatus: 0, wenn OK,

   1      if minor problems (e.g., cannot access subdirectory),

   2      if serious trouble (e.g., cannot access command-line argument).

AUTOR Geschrieben von Richard M. Stallman und David MacKenzie.

BUGS MELDEN Melden Sie Bugs an [email protected] GNU coreutils-Homepage: < http://www.gnu.org/software/coreutils/> ; Allgemeine Hilfe zur Verwendung von GNU-Software: < http://www.gnu.org/gethelp/> ; Ls Übersetzungsfehler melden an < http://translationproject.org/team/> ;

COPYRIGHT Copyright (C) 2011 Free Software Foundation, Inc. Lizenz GPLv3 +: GNU GPL Version 3 oder höher < http://gnu.org/licenses/gpl.html> ; Dies ist freie Software: Sie können sie ändern und weitergeben. Es wird keine Garantie übernommen, soweit dies gesetzlich zulässig ist.

SIEHE AUCH Die vollständige Dokumentation für ls wird als Texinfo-Handbuch geführt. Wenn die Programme info und ls an Ihrem Standort ordnungsgemäß installiert sind, führen Sie den Befehl aus

          info coreutils 'ls invocation'

   should give you access to the complete manual.

GNU coreutils 8.12.197-032bb September 2011
<STRONG> <A HREF="/man1/LS"> LS (1) </A> </ STRONG> </ PRE>

mr5
quelle
1

Die Antwort auf diese Frage könnte hilfreich sein:

Gibt Ihnen Informationen zum Befehl direkt im Bash-Fenster.

Git-Befehl Kurzübersicht

git [command] -help

Öffnet die Online-Informationen für den Befehl in Ihrem Browser.

Git Befehl Manual Pages

git help [command]
git [command] --help
Justin
quelle
In Zukunft wird erwartet, dass Sie die relevanten Informationen zitieren und zitieren, wenn Sie einen Link bereitstellen. Sie sollten auch lernen, wie Sie Ihre Antworten richtig formatieren.
Ramhound
Dies scheint nur für Git-Befehle zu sein. Diese sind nicht unbedingt die gleichen wie ihre nicht-Git-Gegenstücke. Zum Beispiel git grepunterstützt die -ROption nicht. git-scm.com/docs/git#_git_commands
Lorem Ipsum
0

Wenn jemand versucht, manunter Windows zu arbeiten, und Msys2 verwendet , habe ich Folgendes gefunden:

Ich bin sehr nahe gekommen, indem ich die Antwort oben verwendet habe, die besagt, dass installiert werden soll groff(verfügbar über Pacman), und dann das Skript hier verwendet habe , das im Kern den Aufruf an hat groff -Tascii -mandoc -P-c.

Aber ich bekommen konnte es nicht zur Arbeit auf meinem Mann Seiten (gefunden in /usr/share/man) , es sei denn ich die gz - Dateien unkomprimiert ersten !

Dies war keine akzeptable Lösung, also habe ich weiter gesucht und das durch Laufen herausgefunden

pacman -Ss -man

dass es (derzeit) drei Pakete gibt, die das Präfix "man-" haben. ( siehe sie hier ).

Ich habe die mit dem Namen man-db ausprobiert , sie funktioniert und jetzt kann ich manauf die normal erwartete Weise laufen .

TT--
quelle
Heute kann ich pacman -S manwie erwartet einfach ausführen und installieren
Toby
0

Fügen Sie es zum Ende von hinzu .bashrc

C:\Users\<Username>\.bashrc

function man() {
    VAR1="http://man.he.net/?topic="
    VAR2=$1
    VAR3="&section=all"
    VAR4="$VAR1$VAR2$VAR3"
    curl -v --silent "$VAR4" 2>&1 | sed -n "/<PRE>/,/<\/PRE>/p"
}

Fügen Sie es zum Ende von hinzu .bash_profile

C:\Users\<Username>\.bash_profile

# Read .bashrc
source ~/.bashrc

Terminal neu starten.

man findgibt die Handbuchseiten für zurück find.


Hier ist eine Version für eine wirklich kurze Antwort:

function man-short() {
    $1 --help
}
dfghjiuytr4567890
quelle