J'utilise Git bash sous Windows 7. Il me permet d'utiliser la plupart des commandes que j'utilisais sur le Shell de bash sur ma machine Ubuntu. Mais les commandes man et info ne fonctionnent pas. Existe-t-il un moyen de faire fonctionner ces (incroyables) commandes de documentation sur le bash Shell de Git sous Windows ?
Réponses
Trop de publicités?J'ai rassemblé certaines des autres réponses pour obtenir un man
que vous pouvez utiliser comme vous le feriez en mode natif. Il suffit de placer les éléments suivants dans votre .bashrc
et soit source
ou rouvrir votre 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
}
Il permet également de demander des sections particulières de l'homme, par exemple man 3 printf
pour l'appel système.
Faiblesses : La source (man.he.net) n'est pas exactement une API RESTful, et elle renvoie 200 même si rien n'est trouvé, il est donc difficile de donner des messages d'erreur précis. Au lieu de cela, cela affiche simplement "Je n'ai rien trouvé", quel que soit le problème. Cela peut probablement être amélioré. De plus, la page résultante contient des entités html, telles que <
au lieu de <
ce qui rend certaines chaînes d'utilisation hideuses.
Vous peut get man pages working on Git's bash environment, mais il est probablement plus pratique d'envisager d'autres alternatives qui demandent moins de travail.
Je n'ai pas non plus beaucoup de réputation sur SuperUser, donc je suis triste de dire que je ne peux pas vraiment donner tous les liens dont j'ai besoin dans la réponse. I ré-affiché ma réponse sur Tumblr.
En résumé :
- Le bash de Git fait partie du projet msysGit.
- msysGit est un fork du projet MinGW et MSYS
- Vous aurez besoin de msysGit ou de MinGW pour installer MinGW-get.
- Vous aurez besoin de MinGW-get pour installer Groff.
- Vous aurez besoin de Groff pour exécuter ces scripts pour vous donner une commande man à partir du msys bash Shell
- Avec ces scripts en place, vous pouvez lire les pages de manuel. Il vous suffira de les télécharger sur le chemin que vous avez indiqué dans les scripts.
Bonne chance.
En plus de La réponse de Sathya vous pouvez également le faire dans bash pour Windows :
curl -v --silent "http://man.he.net/?topic=<command_name>§ion=all" 2>&1 | sed -n "/<PRE>/,/<\/PRE>/p"
Il suffit de remplacer le <command_name>
avec la commande que vous recherchez.
Exemple de sortie pour la commande ls
:
<PRE> SYNOPSIS ls [OPTION]... [FICHIER]...
DESCRIPTION Lister les informations sur les FICHIERS (le répertoire courant par défaut). Les entrées sont triées par ordre alphabétique si ni -cftuvSUX ni --sort ne sont spécifiés. spécifié.
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 */=>@|) 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<newline>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.
Statut de sortie : 0 si OK,
1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
AUTEUR Écrit par Richard M. Stallman et David MacKenzie.
SIGNALEMENT DES BUGS Signalez les bogues de ls à bug-coreutils@gnu.org Page d'accueil de GNU coreutils : < http://www.gnu.org/software/coreutils/> ; Aide générale à l'utilisation des logiciels GNU : < http://www.gnu.org/gethelp/> ; Signaler les bogues de traduction de ls à < http://translationproject.org/team/> ;
COPYRIGHT Copyright (C) 2011 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3 ou ultérieure < http://gnu.org/licenses/gpl.html> ;. C'est un logiciel libre : vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans les limites autorisées par la loi.
VOIR AUSSI La documentation complète de ls est maintenue comme un manuel Texinfo. Si les programmes info et ls sont correctement installés sur votre site, la documentation com- mand
info coreutils 'ls invocation' should give you access to the complete manual.
GNU coreutils 8.12.197-032bb Septembre 2011
<STRONG><A href="http://superuser.com/man1/LS">LS(1)</A></STRONG></PRE>
- Réponses précédentes
- Plus de réponses