2016-08-05 3 views
12

J'utilise "git bash" sur Windows - c'est git pour Windows via le bash intégré. Apparemment, il utilise le sous-sol MINGW/MSYS. (Mise à jour de @ VonC: Il maintenant uses msys2 depuis msysgit is obsolete depuis le T4 2015.)Comment ajouter man et zip à l'installation "git bash" sur Windows

Donc, il y a déjà beaucoup d'outils MSYS installés - de awk à zcat. Cependant, la commande man me manque et zip pour compresser plusieurs fichiers dans un fichier zip (unzip existe!).

D'où puis-je les installer? Je ne veux pas installer une autre copie du système MINGW! De toute façon juste pour ajouter quelques outils pré-compilés à l'installation git bash?

Répondre

7

La commande zip peut être installée à partir de GoW (Gnu On Windows). man n'est pas fourni (trop grand).

Il est à noter cependant que si vous ne voulez ajouter la commande zip de GoW, toujours l'ensemble du système GoW doit être téléchargé et installé. Ensuite, vous pouvez supprimer les autres commandes du répertoire bin, mais assurez-vous de conserver les DLL nécessaires dans le répertoire.

+0

Merci pour la clarification à propos de 'msys2'. – halloleo

+0

Je ne suis pas sûr d'installer GoW - cela reproduirait la plupart des commandes déjà existantes. Alors peut-être qu'il vaut mieux recommencer avec msys2 lui-même, puis ajouter 'git',' zip' et 'man' ... – halloleo

+0

Vous pouvez extraire de la façon dont seul le zip.exe vous avez besoin. – VonC

2

Vous pouvez imiter un petit sous-ensemble du comportement de l'homme dans la coquille par la cartographie man <command>-<command> --help | less

Malheureusement, mes alias bash machine ne sera pas ajouter des indicateurs aux arguments de position, il va essayer de lancer le drapeau comme commande et échoue (alias man="$1 --help" ne fonctionne pas).

Et une fonction appelée man() n'est pas autorisée!

Heureusement, une combinaison de fonctions bash et d'alias permet d'obtenir ce mappage. Mettez le code ci-dessous dans votre ~/.bashrc (en créer un s'il n'est pas là). Ne pas oublier de source ~/.bashrc.

# man command workaround: alias can't pass flags, but can't name function man 
m() { 
    "$1" --help | less 
} 
alias man="m" 

Il ne vous donne pas la pleine page de l'homme, mais si tout ce que vous cherchez est l'information de base sur une commande et ses drapeaux, cela pourrait être tout ce que vous avez besoin.

+0

Alternative intéressante . +1 Bien que ' --help' est souvent un petit sous-ensemble d'un vrai contenu de' man ' – VonC

+0

Bon point, réponse mise à jour pour le rendre clair. –

+0

Pensée créative! :-) Ma question ne concernait pas seulement l'outil 'man'. Et je suppose que la fonctionnalité 'zip' est plus difficile à émuler avec les fonctions et les alias de bash. ;-) – halloleo