Strony podręcznika dla Git Bash na Windows 7

20

Korzystam z Git bash w systemie Windows 7. Zapewnia mi to sposób korzystania z większości poleceń, których użyłem w powłoce bash na moim komputerze Ubuntu. Ale polecenia man i info nie działają. Czy istnieje sposób, aby te (niewiarygodne) polecenia dokumentacji działały w powłoce Git bash w systemie Windows?

Prasanth
źródło

Odpowiedzi:

2

Możesz skorzystać z dokumentacji online.

Strony podręcznika systemu Linux online i strony informacyjne GNU

Sathyajith Bhat
źródło
czy są jakieś programy, które będą łączyć się z tymi stronami internetowymi z wiersza poleceń i wyświetlać wynik? żebym nadal mógł wpisać informacje grep na powłoce i uzyskać tam wyniki?
Prasanth
1
@Prasanth może zrobisz wget <URL>, a następnie go grep.
Sathyajith Bhat
albo mógłby to zrobić curl "http://man.he.net/?topic=<command_name>&section=all". zamień na <command_name>polecenie, którego szukasz
mr5
Nie odpowiada na pytanie PO; chce, aby te polecenia działały w powłoce.
Pete Alvin
7

To może być trochę przesada, ale można pobrać Cygwin które obejmowałyby bash, manoraz informacji jak czytelnicy pinfo.

Instalator cygwin pozwoli ci dostosować instalację tak, aby była dość małym podzbiorem cygwin.

Rich Homolka
źródło
2
Nie przesadzaj w najmniejszym stopniu; wydaje się dość powszechne, że ktoś będzie chciał uzyskać uniksowe wrażenia w systemie Windows i zainstalować Git Bash, błędnie myśląc, że to jest sposób na uzyskanie takiego. Tymczasem Cygwin faktycznie zapewnia jeden, prawdopodobnie w maksymalnym możliwym stopniu lub bardzo blisko.
Aaron Miller,
6

Państwo może dostać strony człowiek pracuje na środowisko bash Git, ale to chyba wygodniej rozważyć inne możliwości, które mają mniej pracy.

Nie mam też zbyt wielu przedstawicieli na SuperUser, więc z przykrością stwierdzam, że tak naprawdę nie mogę podać wszystkich linków, których potrzebuję w odpowiedzi. I ponownie wysłana moją odpowiedź na Tumblr.

W podsumowaniu:

  • Bash Gita jest częścią projektu msysGit.
  • msysGit jest rozwidleniem projektu MinGW i MSYS
  • Będziesz potrzebował msysGit lub MinGW, aby zainstalować MinGW-get
  • Będziesz potrzebował MinGW-get, aby zainstalować Groffa
  • Będziesz potrzebował Groffa do uruchomienia tych skryptów, aby dać ci polecenie man z poziomu powłoki bash msys
  • Po zainstalowaniu tych skryptów możesz czytać strony podręcznika man. Musisz tylko pobrać je na ścieżkę wskazaną w skryptach.

Powodzenia.

Dave
źródło
2
Możesz zainstalować man z MinGW-get install msys-man. Man jest również dostępny jako plik binarny dla systemu Windows: sourceforge.net/projects/ezwinports/files (znaleziony w FAQ: mingw.org/wiki/FAQ#toc10 ). Ta strona ma również groff. Każdy z nich prawdopodobnie działałby szybciej niż te skrypty.
Sam Hasler
@SamHasler msys-man jest świetny. Dzięki za wskazówkę, nie wiem, jak mi tego brakowało.
Dave
5

Połączyłem niektóre inne odpowiedzi, aby uzyskać manpolecenie, którego możesz użyć tak, jak natywnie. Po prostu włóż następujące elementy do swojego .bashrci albo sourcealbo otwórz terminal.

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
}

Obsługuje również żądanie określonych sekcji man, na przykład man 3 printfdla wywołania systemowego.

Słabe strony: Źródło (man.he.net) nie jest dokładnie interfejsem API RESTful i zwraca 200, nawet gdy nic nie zostanie znalezione, więc trudno jest podać dokładne komunikaty o błędach. Zamiast tego wyświetla tylko „Nie mam nic”, bez względu na problem. Można to prawdopodobnie poprawić. Ponadto wynikowa strona zawiera elementy html, takie jak &lt;zamiast <, co sprawia, że ​​niektóre ciągi użytkowania są brzydkie.

Pianozaur
źródło
Najlepsza odpowiedź. Dziękuję Ci! To działa.
Pete Alvin
2

Oprócz odpowiedzi Sathya możesz także zrobić to w bash dla Windows:

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

Wystarczy zastąpić <command_name>polecenie, którego szukasz.

Przykładowe dane wyjściowe polecenia ls:

<PRE> SKŁADNIA ls [OPCJA] ... [PLIK] ...

OPIS Wyświetla informacje o PLIKACH (domyślnie bieżący katalog). Sortuj wpisy alfabetycznie, jeśli nie podano żadnego z -cftuvSUX ani --sort.

   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.

Status wyjścia: 0, jeśli OK,

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

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

AUTOR Napisane przez Richarda M. Stallmana i Davida MacKenzie.

RAPORTOWANIE BŁĘDÓW Zgłoś błędy w adresie [email protected] Strona główna GNU coreutils: < http://www.gnu.org/software/coreutils/> ; Ogólna pomoc w korzystaniu z oprogramowania GNU: < http://www.gnu.org/gethelp/> ; Zgłoś błędy w tłumaczeniu ls na < http://translationproject.org/team/> ;

PRAWA AUTORSKIE Copyright (C) 2011 Free Software Foundation, Inc. Licencja GPLv3 +: GNU GPL wersja 3 lub nowsza < http://gnu.org/licenses/gpl.html> ;. To jest wolne oprogramowanie: możesz je zmieniać i rozpowszechniać. Nie ma ŻADNEJ GWARANCJI, w zakresie dozwolonym przez prawo.

ZOBACZ TAKŻE Pełna dokumentacja dla ls jest utrzymywana jako podręcznik Texinfo. Jeśli informacje i programy ls są poprawnie zainstalowane w Twojej witrynie, polecenie

          info coreutils 'ls invocation'

   should give you access to the complete manual.

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

mr5
źródło
1

Odpowiedź , z tym pytanie , może być pomocne:

Podaje informacje o poleceniu bezpośrednio w oknie bash.

Polecenie Git Skrócone omówienie

git [command] -help

Otwiera informacje online dla polecenia w przeglądarce.

Komenda Git Strony podręcznika

git help [command]
git [command] --help
Justin
źródło
W przyszłości będziesz oczekiwać, że podasz link i zacytujesz odpowiednie informacje. Powinieneś także nauczyć się, jak poprawnie sformatować swoje odpowiedzi.
Ramhound,
Wydaje się, że dotyczy to tylko poleceń Git. Niekoniecznie są one takie same jak ich odpowiedniki inne niż git. Na przykład git grepnie obsługuje tej -Ropcji. git-scm.com/docs/git#_git_commands
Lorem Ipsum
0

Jeśli ktoś inny próbuje dostać się mando systemu Windows i używa Msys2 , oto, co znalazłem:

Podszedłem bardzo blisko, używając powyższej odpowiedzi, która mówi, aby zainstalować groff(dostępne za pośrednictwem Pacmana), a następnie użyć skryptu tutaj , który ma sedno wywołania groff -Tascii -mandoc -P-c.

Ale nie mogłem zmusić go do działania na moich stronach podręcznika użytkownika (znaleziono w /usr/share/man), chyba że najpierw rozpakowałem pliki gz !

To nie było do przyjęcia rozwiązanie, więc spojrzałem dalej i odkryłem, że działając

pacman -Ss -man

że istnieją trzy pakiety (obecnie), które mają prefiks „man-”. ( zobacz je tutaj ).

Wypróbowałem ten o nazwie man-db , działa, a teraz mam możliwość działania manw normalny, oczekiwany sposób.

TT--
źródło
Dzisiaj jestem w stanie po prostu uruchomić pacman -S mani zainstalować postępy zgodnie z oczekiwaniami
Toby
0

Dodaj to na końcu .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"
}

Dodaj to na końcu .bash_profile

C:\Users\<Username>\.bash_profile

# Read .bashrc
source ~/.bashrc

Uruchom ponownie terminal.

man findzwróci strony podręcznika dla find.


Oto wersja naprawdę krótkiej odpowiedzi:

function man-short() {
    $1 --help
}
dfghjiuytr4567890
źródło