Windows 7でのGit Bashのマニュアルページ


19

私はWindows 7でGit bashを使用しています。これは、Ubuntuマシンのbashシェルで使用していたコマンドのほとんどを使用する方法を提供します。しかし、manコマンドとinfoコマンドは機能しません。これらの(信じられないほどの)ドキュメントコマンドをWindowsのGit bashシェルで動作させる方法はありますか?

回答:


2

オンラインドキュメントを使用できます。

Linux manページオンラインGNU情報ページ


コマンドラインからこれらのWebページに接続して結果を表示するプログラムはありますか?シェルでinfo grepと入力して、そこに結果を取得できるようにするにはどうすればよいですか?
プラサンス

1
@Prasanthは、おそらくwget <URL>を実行してからgrepを実行できます。
サティアジスバート

または彼はこれを行うことができますcurl "http://man.he.net/?topic=<command_name>&section=all"。を<command_name>探しているコマンドに置き換えます
mr5

7

それは少しやり過ぎかもしれないが、あなたがダウンロードできるCygwinを含めることになるbashmanとの情報の読者が好きですpinfo

cygwinインストーラーを使用すると、インストールをカスタマイズして、cygwinの非常に小さなサブセットにすることができます。


2
少しでもやりすぎではありません。誰かがWindowsでUnixyエクスペリエンスを望んでいて、それを取得する方法だと誤ってGit Bashをインストールすることはかなり一般的なようです。一方、Cygwinは実際に、おそらく可能な限り最大限に、または非常に近いものを提供します。
アーロンミラー

6

Gitのbash環境でmanページを動作させることはできます、作業量の少ない他の代替手段を検討する方がおそらく便利です。

また、SuperUserの担当者があまりいないので、応答に必要なすべてのリンクを実際に提供できないと言うのは悲しいことです。Tumblrに回答再投稿しました

要約すれば:

  • GitのbashはmsysGitプロジェクトの一部です。
  • msysGitはMinGWおよびMSYSプロジェクトのフォークです
  • MinGW-getをインストールするにはmsysGitまたはMinGWが必要です。
  • GroffをインストールするにはMinGW-getが必要です
  • これらのスクリプトを実行してmsys bashシェル内からmanコマンドを提供するには、Groffが必要です。
  • これらのスクリプトを配置すると、manページを読むことができます。スクリプトで指定したパスにダウンロードするだけです。

幸運を。


2
を使用してmanをインストールできMinGW-get install msys-manます。Manは、windowsバイナリとしても利用可能です:sourceforge.net/projects/ezwinports/files(FAQ:mingw.org/wiki/FAQ#toc10にあります)。そのページにはgroffもあります。どちらもおそらくそれらのスクリプトよりも高速に実行されます。
サムハスラー14

@SamHasler msys-manは素晴らしいです。ヒントをありがとう、私はそれを見逃した方法がわかりません。
デイブ14

4

他の回答のいくつかをつなぎ合わせて、manネイティブに使用するのと同じように使用できるコマンドを取得しました。ちょうどあなたに次のように固執.bashrcし、いずれかのsourceそれ、またはあなたの端末を再オープンします。

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
}

またman 3 printf、システムコールなどの特定のmanセクションのリクエストもサポートしています。

弱点:ソース(man.he.net)は厳密にはRESTful APIではなく、何も見つからない場合でも200を返すため、正確なエラーメッセージを提供するのは困難です。代わりに、これは問題が何であったかに関係なく、「Got nothing」を出力します。これはおそらく改善される可能性があります。また、結果のページは、次のようなHTMLエンティティ、含まれている&lt;代わりに、<いくつかの用法文字列が醜いになり、。


2

Sathyaの答えに加えて、Windowsのbashでこれを行うこともできます。

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

<command_name>探しているコマンドに置き換えてください。

コマンドの出力例ls

<PRE>構文ls [オプション] ... [ファイル] ...

説明ファイルに関する情報を一覧表示します(デフォルトでは現在のディレクトリ)。-cftuvSUXも--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.

終了ステータス:OKの場合は0、

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

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

著者リチャード・M・ストールマンとデビッド・マッケンジーによって書かれました。

バグの報告バグをbug-coreutils@gnu.orgに報告してくださいGNU coreutilsホームページ:< http://www.gnu.org/software/coreutils/> ; GNUソフトウェアを使用した一般的なヘルプ:< http://www.gnu.org/gethelp/> ; lsの翻訳バグを< http://translationproject.org/team/>に報告してください。

COPYRIGHT著作権(C)2011 Free Software Foundationが、Inc.のライセンスGPLv3の+:GNU GPLバージョン3以降< http://gnu.org/licenses/gpl.html> ;。これはフリーソフトウェアです。自由に変更して再配布できます。法律で許可されている範囲では、保証はありません。

参照lsの完全なドキュメントは、Texinfoマニュアルとして管理されています。infoおよびlsプログラムがサイトに適切にインストールされている場合、コマンド

          info coreutils 'ls invocation'

   should give you access to the complete manual.

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


1

答えはこれから、質問役に立つかもしれません:

bashウィンドウでコマンドの情報を表示します。

Gitコマンドクイックリファレンス

git [command] -help

ブラウザでコマンドのオンライン情報を開きます。

Gitコマンドマニュアルページ

git help [command]
git [command] --help

将来的には、リンクを提供するときに関連情報を引用して引用することが期待されます。また、回答を適切にフォーマットする方法を学ぶ必要があります。
ラムハウンド

これはGitコマンド専用です。これらは、非gitの対応物と必ずしも同じではありません。たとえばgit grep、この-Rオプションはサポートされていません。git-scm.com/docs/git#_git_commands
Lorem

0

他の誰かがmanWindowsで作業しようとしてMsys2を使用している場合、私が見つけたものは次のとおりです:

上記答えを使用して非常に近くなりましたgroff(pacmanを介して利用可能)をインストールしてから、ここスクリプトを使用しますgroff -Tascii -mandoc -P-c

しかし、最初にgzファイルを圧縮解除しない限り、manページ(にあります/usr/share/man)で動作させることができませんでした!

これは許容できる解決策ではなかったので、さらに調べてみると、

pacman -Ss -man

「man-」という接頭辞を持つ3つのパッケージ(現在)があること。(こちらをご覧ください)。

私はman-dbと呼ばれるものを試してみましたが、それは機能し、今manでは定期的に予想される方法で実行することができます。


今日、私は単純に実行しpacman -S man、収益を期待どおりにインストールすることができます
トビー

0

最後に追加します .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"
}

最後に追加します .bash_profile

C:\Users\<Username>\.bash_profile

# Read .bashrc
source ~/.bashrc

ターミナルを再起動します。

man findのマニュアルページを返しますfind


これは本当に短い答えのバージョンです:

function man-short() {
    $1 --help
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.