Je travaille sur la machine Windows et j'utilise le shell bash fourni avec Git. Mais il existe de nombreux utilitaires qui manquent dans cette version de shell bash.
Comment puis-je installer plus de commandes sur ce shell?
many utilities are missing in this version of bash shell. Veuillez ajouter les commandes manquantes que vous souhaitez utiliser.
030
3
Consultez serverfault.com/a/872557/212162 pour une manière beaucoup plus récente et plus simple d'utiliser des utilitaires qui ne sont pas inclus par défaut.
nextgentech
Réponses:
16
Vous utiliserez probablement deux versions de Git: la distribution msysgit ou Cygwin .
Installation d'utilitaires supplémentaires pour Cygwin
Bien que vous n’ayez peut-être installé que Git dans le cadre de votre installation de Cygwin (si vous avez utilisé Cygwin), Cygwin dispose d’un programme appelé setup.exe que vous pouvez utiliser pour ajouter des packages. Pour l'essentiel, tout ce que vous avez à faire est d'exécuter setup.exeet de choisir les programmes que vous souhaitez installer lorsque vous accédez à la fenêtre Sélectionner des packages . L'introduction ici fournit un bon aperçu avec des images qui détaillent le processus.
Le programme d’installation de Cygwin est suffisamment intelligent pour comprendre que vous avez une installation préexistante et il ajoutera des packages à votre installation (au lieu de la remplacer et de recommencer).
MSYS
L'autre version de Git que vous utilisez probablement (sinon Cygwin) est msysgit. Comme msysgit installe un environnement minimal Unix peu compatible avec MinGW, vous devrez installer la suite MinGW à côté de msysgit. La page Mise en route de MinGW donne un aperçu détaillé de la procédure d’installation de MinGW. Comme je n’ai aucune expérience personnelle de MinGW, tout ce que je peux faire, c’est que vous pouvez vous reporter à leurs instructions.
Vous devrez ensuite migrer votre installation msysgit vers MinGW. Ceci peut être accompli en procédant comme suit (pris ici ). Une fois la séquence suivante effectuée, MinGW devrait rechercher votre installation Git.
cd GITDIR # Where GITDIR is wherever inside Program Files you put Git
cp bin/git* /MINGW/bin # Where MINGW is wherever you put MinGW
cp -r libexec/git* /MINGW/libexec
cp -r share/git* /MINGW/share
Pour ceux qui se demandent, n'essayez pas d'utiliser le programme d'installation de cygwin sur le paquet msysgit. Cela fonctionne partiellement ... mais en résolvant les dépendances, il remplacera sh.exe (ce qui change votre environnement de manière significative).
Chris Betti
5
Comment savoir si mon compte git-bash utilise cygwin ou msys?
Lmo
7
J'ai installé depuis git-scm.com/download/win est-ce que msysgit ou cygwin? EDIT Je l'ai compris. Plutôt que de supprimer ce commentaire, je dirai que c'est msysgit.
Expiation limitée
3
@LimitedAtonement - Indiquez également comment vous avez compris, pour les autres lecteurs (comme moi) qui se sont posé la même question.
Ioanna
4
Vous pouvez dire ce que vous avez installé en exécutant uname -odans le terminal bash.
Cliff Armstrong le
5
Avec les récentes installations de Git for Windows , l’installation de scripts et de programmes shell supplémentaires est assez facile.
Je recommande d'installer git en utilisant chocolateychoco install git , car vous pouvez mettre à jour git (et tous les autres outils installés avec chocolatey) en exécutant choco upgrade all.
Il suffit de mettre les exécutables dans C:\Program Files\Git\usr\bin( %ProgramFiles%\Git\usr\bin).
Si vous utilisez msysgit, une option simple consiste simplement à installer MinGW , puis à ajouter le chemin MINGW au fichier .bashrc que vous utilisez pour votre installation Git:
PATH=$PATH:/MINGW/msys/1.0/bin
... où MINGW est où vous avez installé MinGW
De cette façon, vous pouvez utiliser les outils MinGW directement depuis votre installation Git bash. Si vous avez besoin d'un autre outil bash, vous pouvez simplement l'installer dans MinGW.
Téléchargez le dernier fichier binaire wget pour windows d’ éternallybored (ils sont disponibles au format zip avec documentation, ou tout simplement un fichier exe)
Si vous avez téléchargé le zip, extrayez tout (si Windows construit dans l'utilitaire zip donne une erreur, utilisez 7-zip ).
Renommez le fichier wget64.exeà wget.exesi nécessaire.
Déplacer wget.exeà votre Git\mingw64\bin\.
Note: J'ai remarqué quelques bugs lors de l'utilisation de Wget sur Git Bash pour créer des fichiers WARC. Pour une utilisation plus complexe de Wget, envisagez plutôt Cygwin .
Hugo
Le générateur de site statique Hugo peut être téléchargé en tant que fichier binaire et ne dispose pas d'un programme d'installation. Le déposer dans votre binajoute facilement à votre chemin Git Bash. Prenez la version Windows 64 bits à partir de la page des versions . Décompressez le téléchargement, puis copiez-le hugo.exedans votre Git\mingw64\binrépertoire.
Xpdf
Xpdf est un utilitaire pratique pour manipuler des fichiers PDF.
Télécharger make-4.1-2-without-guile-w32-bin.zip(obtenez la version sans astuce).
Extrait zip.
Copiez le contenu dans vos Git\mingw64\dossiers fusionnés, mais NE écrasez / remplacez aucun fichier existant.
Nano
À compter de 2018, les versions récentes de Git Bash incluent Nano, c'est donc inutile!
Téléchargez le fichier binaire Nano à partir de la page d’ assistance Nano win32 . Vous avez juste besoin du .exefichier, qui est nommé nano-git-0d9a7347243.exe(à ce jour).
Renommez le fichier nano.exeet copiez-le dans le mingw64\binrépertoire.
Cette version de Nano ne fonctionnera pas avec Git Bash seul, mais peut être appelée en utilisant winpty, par exemple winpty nano test.txt,.
@mike votre réponse est similaire, sauf que je n'ai pas installé cygwin64
geneorama
1
J'ai essayé ce qui suit et installé emacs sur git-bash .. 1. Installez msys2 quelque part (ne doit pas nécessairement être le même ordinateur). 2. Sous msys2, exécutez ce qui suit:
cd /tmp
mkdir -p var/lib
cp -R /var/lib/pacman var/lib/
pacman -Sr /tmp emacs
tar zcf emacs.tar.gz usr
Copiez emacs.tar.gzoù vous pouvez accéder depuis git-bash, puis sous git-bash:
tar zxf emacs.tar.gz -C / emacs
C'est tout, bonne chance.
Après le premier post, j'ai essayé un autre ordinateur mais je ne travaillais pas. Il se trouve que certaines DLL sont manquantes dans git-bash. Ensuite, j'ai testé sur une machine virtuelle propre en procédant comme suit:
Tout est terminé, maintenant emacs s'exécute en git-bash. Certaines des 26 dll ne sont peut-être pas nécessaires, mais je préférerais gagner du temps plutôt que de l'espace disque.
Si vous utilisez Git bash pour Windows (MinGW64), j’ai eu beaucoup de difficulté à faire ajouter rsync. continué à avoir l'erreur: dup () in / out / err a échoué
Au lieu de cela, utiliser Cygwin a finalement fonctionné.
Mesures prises pour utiliser rysnc dans Gitbash pour Windows
Installer gitbash pour Windows
Installez cygwin64
Ajouter le chemin cygwin à la variable chemin Windows
Vous pouvez télécharger le fichier rsync directement à partir de mysys . Il suffit de rechercher rsync dans la page et de choisir celle avec le dernier numéro de version.
Décompressez ce fichier ( rsync-3.1.3-1-x86_64.pkg.tar.xz) via
tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
Ensuite, copiez rsync à ./usr/bin/rsync.exe
et collez-le dans le dossier / usr / bin de votre installation Git.
Sur ma machine, c'estC:/Program Files/Git/usr/bin/
Vous pouvez voir l’emplacement de votre installation Git via
Remarque: je ne pouvais pas décompresser le rsync-3.1.3-1-x86_64.pkg.tar.xzfichier directement dans le dossier Git, car les autorisations ne le permettaient pas. Et Git Bash n'a pas de sudo.
Mais je pourrais le décompresser directement dans mon dossier Téléchargements sans problème.
C’est aussi bien, car vous n’avez besoin que du rsync.exefichier.
many utilities are missing in this version of bash shell
. Veuillez ajouter les commandes manquantes que vous souhaitez utiliser.Réponses:
Vous utiliserez probablement deux versions de Git: la distribution msysgit ou Cygwin .
Installation d'utilitaires supplémentaires pour Cygwin
Bien que vous n’ayez peut-être installé que Git dans le cadre de votre installation de Cygwin (si vous avez utilisé Cygwin), Cygwin dispose d’un programme appelé setup.exe que vous pouvez utiliser pour ajouter des packages. Pour l'essentiel, tout ce que vous avez à faire est d'exécuter
setup.exe
et de choisir les programmes que vous souhaitez installer lorsque vous accédez à la fenêtre Sélectionner des packages . L'introduction ici fournit un bon aperçu avec des images qui détaillent le processus.Le programme d’installation de Cygwin est suffisamment intelligent pour comprendre que vous avez une installation préexistante et il ajoutera des packages à votre installation (au lieu de la remplacer et de recommencer).
MSYS
L'autre version de Git que vous utilisez probablement (sinon Cygwin) est msysgit. Comme msysgit installe un environnement minimal Unix peu compatible avec MinGW, vous devrez installer la suite MinGW à côté de msysgit. La page Mise en route de MinGW donne un aperçu détaillé de la procédure d’installation de MinGW. Comme je n’ai aucune expérience personnelle de MinGW, tout ce que je peux faire, c’est que vous pouvez vous reporter à leurs instructions.
Vous devrez ensuite migrer votre installation msysgit vers MinGW. Ceci peut être accompli en procédant comme suit (pris ici ). Une fois la séquence suivante effectuée, MinGW devrait rechercher votre installation Git.
la source
uname -o
dans le terminal bash.Avec les récentes installations de Git for Windows , l’installation de scripts et de programmes shell supplémentaires est assez facile.
Je recommande d'installer git en utilisant chocolatey
choco install git
, car vous pouvez mettre à jour git (et tous les autres outils installés avec chocolatey) en exécutantchoco upgrade all
.Il suffit de mettre les exécutables dans
C:\Program Files\Git\usr\bin
(%ProgramFiles%\Git\usr\bin
).Exemple pour git-fresh
Copiez le fichier git-fresh dans
C:\Program Files\Git\usr\bin
.Exemple pour adr-tools
src/
dansC:\Program Files\Git\usr\bin
la source
Si vous utilisez msysgit, une option simple consiste simplement à installer MinGW , puis à ajouter le chemin MINGW au fichier .bashrc que vous utilisez pour votre installation Git:
... où MINGW est où vous avez installé MinGW
De cette façon, vous pouvez utiliser les outils MinGW directement depuis votre installation Git bash. Si vous avez besoin d'un autre outil bash, vous pouvez simplement l'installer dans MinGW.
la source
Vous pouvez télécharger des unités Unix supplémentaires à
Wget, Hugo, Xpdf, make, Nano
partir d’ici: https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058Wget
wget64.exe
àwget.exe
si nécessaire.wget.exe
à votreGit\mingw64\bin\
.Note: J'ai remarqué quelques bugs lors de l'utilisation de Wget sur Git Bash pour créer des fichiers WARC. Pour une utilisation plus complexe de Wget, envisagez plutôt Cygwin .
Hugo
Le générateur de site statique Hugo peut être téléchargé en tant que fichier binaire et ne dispose pas d'un programme d'installation. Le déposer dans votre
bin
ajoute facilement à votre chemin Git Bash. Prenez la version Windows 64 bits à partir de la page des versions . Décompressez le téléchargement, puis copiez-lehugo.exe
dans votreGit\mingw64\bin
répertoire.Xpdf
Xpdf est un utilitaire pratique pour manipuler des fichiers PDF.
xpdf-tools-win-4.00\bin64\
dans votreGit\mingw64\bin\
.pdftotext
etpdftopng
.faire
make-4.1-2-without-guile-w32-bin.zip
(obtenez la version sans astuce).Git\mingw64\
dossiers fusionnés, mais NE écrasez / remplacez aucun fichier existant.Nano
.exe
fichier, qui est nomménano-git-0d9a7347243.exe
(à ce jour).nano.exe
et copiez-le dans lemingw64\bin
répertoire.winpty
, par exemplewinpty nano test.txt
,.la source
J'ai trouvé une réponse assez simple aujourd'hui qui a fonctionné
rsync
.rsync
depuis futureware.at *C:\rsync-3.1.2-2-x86_64.pkg
* Je ne sais pas qui est derrière Futureware.at, je préférerais créer un lien vers une source plus primaire.
la source
Après le premier post, j'ai essayé un autre ordinateur mais je ne travaillais pas. Il se trouve que certaines DLL sont manquantes dans git-bash. Ensuite, j'ai testé sur une machine virtuelle propre en procédant comme suit:
Installez msys2-x86_64-20180531 et Git-2.19.1-64-bit .
Mettez à jour msys2, ouvrez la console msys64 et exécutez:
Fermez la console msys64 à l'invite, puis réexécutez la commande ci-dessus.
Obtenez les fichiers emacs comme dans les étapes précédentes (procédez comme suit dans msys64):
ps: J'ai déjà essayé les étapes ci-dessus dans / d / tmp au lieu de / tmp et je n’ai pas pu y installer emacs.
Ouvrez git-bash et extrayez les fichiers emacs:
Il va se plaindre manquant bibliothèque partagée "?" en essayant de lancer Emacs maintenant. Le "?" ne sera révélé à aucun lisible
Retournez à msys64 et récupérez les dlls msys2:
Dans git-bash, comparez les dll avec msys:
Dans mon cas, il y a 26 dll dans diff_dlls.txt.
Copiez les dll de msys64 dans git-bash:
Dans msys64:
En git-bash:
Tout est terminé, maintenant emacs s'exécute en git-bash. Certaines des 26 dll ne sont peut-être pas nécessaires, mais je préférerais gagner du temps plutôt que de l'espace disque.
la source
Si vous utilisez Git bash pour Windows (MinGW64), j’ai eu beaucoup de difficulté à faire ajouter rsync. continué à avoir l'erreur: dup () in / out / err a échoué
Au lieu de cela, utiliser Cygwin a finalement fonctionné.
Mesures prises pour utiliser rysnc dans Gitbash pour Windows
la source
On pourrait augmenter le nombre de fonctionnalités de git-bash en créant des scripts et les appeler en les définissant dans le
~/.bash_profile
fichier.Exemple
Si l'on souhaite utiliser la
watch
commande, ce script pourrait être ajouté à la~/.bash_profile
:https://gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda
et l'envelopper dans une fonction:
Dès que vous enregistrez le fichier et que vous l'exécutez,
source ~/.bash_profile
vous devriez pouvoir regarder le résultat des commandes.la source
https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321
la source
ajouter
rsync
Vous pouvez télécharger le fichier rsync directement à partir de mysys . Il suffit de rechercher rsync dans la page et de choisir celle avec le dernier numéro de version.
Décompressez ce fichier (
rsync-3.1.3-1-x86_64.pkg.tar.xz
) viaEnsuite, copiez rsync à
./usr/bin/rsync.exe
et collez-le dans le dossier / usr / bin de votre installation Git.Sur ma machine, c'est
C:/Program Files/Git/usr/bin/
Vous pouvez voir l’emplacement de votre installation Git via
Voici un référentiel conforme à son plan qui contient des instructions et un lien vers la version 3.1.3-1 sur rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f83073dde6 .
Remarque: je ne pouvais pas décompresser le
rsync-3.1.3-1-x86_64.pkg.tar.xz
fichier directement dans le dossier Git, car les autorisations ne le permettaient pas. Et Git Bash n'a pas de sudo.Mais je pourrais le décompresser directement dans mon dossier Téléchargements sans problème.
C’est aussi bien, car vous n’avez besoin que du
rsync.exe
fichier.la source