many utilities are missing in this version of bash shell. Agregue qué comandos faltan que le gustaría usar.
030
3
Visite serverfault.com/a/872557/212162 para obtener una forma mucho más reciente y fácil de utilizar utilidades que no están incluidas de manera predeterminada.
nextgentech
Respuestas:
16
Hay dos versiones de Git que probablemente usará: la distribución msysgit o Cygwin .
Instalación de utilidades adicionales para Cygwin
Aunque es posible que solo haya instalado Git como parte de su instalación de Cygwin (si usó Cygwin), Cygwin tiene un programa llamado setup.exe que puede usar para agregar paquetes. Esencialmente, todo lo que tiene que hacer es ejecutar setup.exey seleccionar qué programas desea instalar cuando llegue a la ventana Seleccionar paquetes . La introducción aquí proporciona una buena descripción general con imágenes que detallan el proceso.
El instalador de Cygwin es lo suficientemente inteligente como para darse cuenta de que tiene una instalación preexistente, y agregará paquetes a su instalación (en lugar de eliminarla y comenzar de nuevo).
MSYS
La otra versión de Git que probablemente esté usando (si no es Cygwin) es msysgit. Debido a que msysgit instala un entorno Unix mínimo que no es realmente compatible con MinGW, terminará teniendo que instalar la suite MinGW junto a msysgit. La página de inicio de MinGW ofrece una descripción detallada de cómo instalar MinGW, ya que no tengo experiencia con MinGW personalmente, todo lo que puedo hacer es remitirlo a sus instrucciones.
Luego tendrá que migrar su instalación de msysgit a MinGW. Esto se puede lograr haciendo lo siguiente (tomado de aquí ). Una vez que se realiza la siguiente secuencia, MinGW debe encontrar su instalación de 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
Para cualquiera que se pregunte, no intente utilizar el instalador de cygwin en el paquete msysgit. Funciona parcialmente ... pero al resolver dependencias, reemplazará sh.exe (que cambia su entorno significativamente).
Chris Betti
55
¿Cómo sé si mi git-bash usa cygwin o msys?
lmo
77
Lo instalé desde git-scm.com/download/win, ¿eso es msysgit o cygwin? EDITAR Lo descubrí. En lugar de eliminar este comentario, diré que es msysgit.
Expiación limitada el
3
@LimitedAtonement: diga también cómo lo resolvió, para otros lectores (como yo) que se han hecho la misma pregunta.
Ioanna
44
Puede saber qué ha instalado ejecutando uname -oen el terminal bash.
Cliff Armstrong
5
Con las recientes instalaciones de Git para Windows , la instalación de scripts y programas de shell adicionales es bastante fácil.
Recomiendo instalar git usando chocolateychoco install git , porque puedes actualizar git (y todas las otras herramientas instaladas con chocolatey) ejecutando choco upgrade all.
Simplemente ponga los ejecutables en C:\Program Files\Git\usr\bin( %ProgramFiles%\Git\usr\bin).
Si está utilizando msysgit, una opción simple es instalar MinGW y luego agregar la ruta MINGW al archivo .bashrc que está utilizando para su instalación de Git:
PATH=$PATH:/MINGW/msys/1.0/bin
... donde MINGW es donde instaló MinGW
De esa manera, puede usar las herramientas MinGW directamente desde su instalación de Git bash, y si necesita otra herramienta bash, simplemente puede instalarla en MinGW.
Descargue el último binario de wget para Windows desde eternamente aburrido (están disponibles como un zip con documentación, o simplemente un exe)
Si descargó el archivo zip, extraiga todo (si la utilidad integrada de Windows presenta un error, use 7-zip ).
Cambie el nombre del archivo wget64.exea wget.exesi es necesario.
Muévete wget.exea tu Git\mingw64\bin\.
Nota: He notado algunos errores al usar Wget en Git Bash para crear archivos WARC. Para un uso más complejo de Wget, considere Cygwin en su lugar.
Hugo
El generador de sitios estáticos de Hugo se puede descargar como binario y no tiene un instalador. Soltarlo en tu binfácilmente lo agrega a tu ruta de Git Bash. Tome la versión de Windows de 64 bits de la página de lanzamientos . Descomprima la descarga, luego cópiela hugo.exeen su Git\mingw64\bindirectorio.
Xpdf
Xpdf es una práctica utilidad para manipular archivos PDF.
Descargar make-4.1-2-without-guile-w32-bin.zip(obtener la versión sin engaño).
Extraer cremallera.
Copie el contenido a la Git\mingw64\fusión de las carpetas, pero NO sobrescriba / reemplace ningún archivo existente.
Nano
A partir de 2018, las versiones recientes de Git Bash incluyen Nano, ¡así que esto es innecesario!
Descargue el binario Nano de la página de soporte Nano win32 . Solo necesita el .exearchivo, que se llama nano-git-0d9a7347243.exe(a partir de este escrito).
Cambie el nombre del archivo nano.exey cópielo en el mingw64\bindirectorio.
Esta versión de Nano no funcionará solo con Git Bash, pero puede invocarse usando winpty, por ejemplo winpty nano test.txt,.
@mike tu respuesta es similar, excepto que no instalé cygwin64
geneorama
1
Intenté lo siguiente e instalé emacs en git-bash .. 1. Instale msys2 en algún lugar (no tiene que ser la misma computadora). 2. En msys2, ejecute lo siguiente:
cd /tmp
mkdir -p var/lib
cp -R /var/lib/pacman var/lib/
pacman -Sr /tmp emacs
tar zcf emacs.tar.gz usr
Copie emacs.tar.gza donde puede acceder desde git-bash, luego en git-bash:
tar zxf emacs.tar.gz -C / emacs
Eso es todo, buena suerte.
Después de la primera publicación, probé con otra computadora pero no funcionaba. Resulta que faltan algunos dlls en git-bash. Luego probé en una máquina virtual limpia con los siguientes pasos:
Todo listo, ahora emacs se ejecuta en git-bash. Algunos de los 26 dlls pueden no ser necesarios, pero preferiría ahorrar mi tiempo en lugar de espacio en disco.
Puede descargar el archivo rsync directamente desde mysys . Simplemente busque rsync en la página y elija la que tenga la última fecha / número de versión más reciente.
Descomprima este archivo ( rsync-3.1.3-1-x86_64.pkg.tar.xz) a través de
tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
Luego copie rsync en ./usr/bin/rsync.exe
y péguelo en la carpeta / usr / bin de su instalación de Git.
En mi máquina, eso esC:/Program Files/Git/usr/bin/
Puede ver la ubicación de su instalación de Git a través de
Nota: No pude descomprimir el rsync-3.1.3-1-x86_64.pkg.tar.xzarchivo directamente en la carpeta Git, porque los permisos no lo permitieron. Y Git Bash no tiene sudo.
Pero podría descomprimirlo directamente en mi carpeta de descargas sin ningún problema.
Es igual de bueno, porque de rsync.exetodos modos solo necesita el archivo.
many utilities are missing in this version of bash shell
. Agregue qué comandos faltan que le gustaría usar.Respuestas:
Hay dos versiones de Git que probablemente usará: la distribución msysgit o Cygwin .
Instalación de utilidades adicionales para Cygwin
Aunque es posible que solo haya instalado Git como parte de su instalación de Cygwin (si usó Cygwin), Cygwin tiene un programa llamado setup.exe que puede usar para agregar paquetes. Esencialmente, todo lo que tiene que hacer es ejecutar
setup.exe
y seleccionar qué programas desea instalar cuando llegue a la ventana Seleccionar paquetes . La introducción aquí proporciona una buena descripción general con imágenes que detallan el proceso.El instalador de Cygwin es lo suficientemente inteligente como para darse cuenta de que tiene una instalación preexistente, y agregará paquetes a su instalación (en lugar de eliminarla y comenzar de nuevo).
MSYS
La otra versión de Git que probablemente esté usando (si no es Cygwin) es msysgit. Debido a que msysgit instala un entorno Unix mínimo que no es realmente compatible con MinGW, terminará teniendo que instalar la suite MinGW junto a msysgit. La página de inicio de MinGW ofrece una descripción detallada de cómo instalar MinGW, ya que no tengo experiencia con MinGW personalmente, todo lo que puedo hacer es remitirlo a sus instrucciones.
Luego tendrá que migrar su instalación de msysgit a MinGW. Esto se puede lograr haciendo lo siguiente (tomado de aquí ). Una vez que se realiza la siguiente secuencia, MinGW debe encontrar su instalación de Git.
fuente
uname -o
en el terminal bash.Con las recientes instalaciones de Git para Windows , la instalación de scripts y programas de shell adicionales es bastante fácil.
Recomiendo instalar git usando chocolatey
choco install git
, porque puedes actualizar git (y todas las otras herramientas instaladas con chocolatey) ejecutandochoco upgrade all
.Simplemente ponga los ejecutables en
C:\Program Files\Git\usr\bin
(%ProgramFiles%\Git\usr\bin
).Ejemplo para git-fresh
Copie el archivo git-fresh a
C:\Program Files\Git\usr\bin
.Ejemplo para adr-tools
src/
aC:\Program Files\Git\usr\bin
fuente
Si está utilizando msysgit, una opción simple es instalar MinGW y luego agregar la ruta MINGW al archivo .bashrc que está utilizando para su instalación de Git:
... donde MINGW es donde instaló MinGW
De esa manera, puede usar las herramientas MinGW directamente desde su instalación de Git bash, y si necesita otra herramienta bash, simplemente puede instalarla en MinGW.
fuente
Puede descargar unidades Unix adicionales
Wget, Hugo, Xpdf, make, Nano
desde aquí: https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058Wget
wget64.exe
awget.exe
si es necesario.wget.exe
a tuGit\mingw64\bin\
.Nota: He notado algunos errores al usar Wget en Git Bash para crear archivos WARC. Para un uso más complejo de Wget, considere Cygwin en su lugar.
Hugo
El generador de sitios estáticos de Hugo se puede descargar como binario y no tiene un instalador. Soltarlo en tu
bin
fácilmente lo agrega a tu ruta de Git Bash. Tome la versión de Windows de 64 bits de la página de lanzamientos . Descomprima la descarga, luego cópielahugo.exe
en suGit\mingw64\bin
directorio.Xpdf
Xpdf es una práctica utilidad para manipular archivos PDF.
xpdf-tools-win-4.00\bin64\
en suGit\mingw64\bin\
.pdftotext
ypdftopng
.hacer
make-4.1-2-without-guile-w32-bin.zip
(obtener la versión sin engaño).Git\mingw64\
fusión de las carpetas, pero NO sobrescriba / reemplace ningún archivo existente.Nano
.exe
archivo, que se llamanano-git-0d9a7347243.exe
(a partir de este escrito).nano.exe
y cópielo en elmingw64\bin
directorio.winpty
, por ejemplowinpty nano test.txt
,.fuente
Encontré una respuesta bastante simple hoy que funcionó
rsync
.rsync
desde futureware.at *C:\rsync-3.1.2-2-x86_64.pkg
* No sé quién está detrás de futureware.at, preferiría vincular a una fuente más primaria.
fuente
Después de la primera publicación, probé con otra computadora pero no funcionaba. Resulta que faltan algunos dlls en git-bash. Luego probé en una máquina virtual limpia con los siguientes pasos:
Instale msys2-x86_64-20180531 y Git-2.19.1-64-bit .
Actualice msys2, abra la consola msys64 y ejecute:
Cierre la consola msys64 cuando se le solicite, luego ejecute el comando anterior nuevamente.
Obtenga archivos emacs como los pasos anteriores (ejecute lo siguiente en msys64):
ps: una vez probé los pasos anteriores en / d / tmp en lugar de / tmp y no pude instalar emacs.
Abra git-bash y extraiga archivos emacs:
Se quejará de la falta de biblioteca compartida "?" en tratar de ejecutar emacs ahora. Los "?" no será revelado a ningún legible
Regrese a msys64 y obtenga los dlls de msys2:
En git-bash compare dlls con msys:
En mi caso, hay 26 dlls en diff_dlls.txt.
Copie los dlls de msys64 a git-bash:
En msys64:
En git-bash:
Todo listo, ahora emacs se ejecuta en git-bash. Algunos de los 26 dlls pueden no ser necesarios, pero preferiría ahorrar mi tiempo en lugar de espacio en disco.
fuente
Si utilizo Git bash para Windows (MinGW64), me costó mucho agregarle rsync. siguió obteniendo error: dup () in / out / err falló
En cambio, usar Cygwin funcionó eventualmente.
Pasos que tomé para usar rysnc en Gitbash para Windows
fuente
Se podría ampliar el número de características en git-bash creando scripts y llamarlos definiéndolos en el
~/.bash_profile
archivo.Ejemplo
Si a uno le gustaría usar el
watch
comando, entonces este script podría agregarse a~/.bash_profile
:https://gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda
y envolverlo dentro de una función:
Tan pronto como se guarda el archivo y se ejecuta
source ~/.bash_profile
, se debe poder ver la salida de los comandos.fuente
https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321
fuente
para agregar
rsync
Puede descargar el archivo rsync directamente desde mysys . Simplemente busque rsync en la página y elija la que tenga la última fecha / número de versión más reciente.
Descomprima este archivo (
rsync-3.1.3-1-x86_64.pkg.tar.xz
) a través deLuego copie rsync en
./usr/bin/rsync.exe
y péguelo en la carpeta / usr / bin de su instalación de Git.En mi máquina, eso es
C:/Program Files/Git/usr/bin/
Puede ver la ubicación de su instalación de Git a través de
Aquí hay un repositorio general de hisplan que tiene instrucciones junto con un enlace a la versión 3.1.3-1 en rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f83073dde6 .
Nota: No pude descomprimir el
rsync-3.1.3-1-x86_64.pkg.tar.xz
archivo directamente en la carpeta Git, porque los permisos no lo permitieron. Y Git Bash no tiene sudo.Pero podría descomprimirlo directamente en mi carpeta de descargas sin ningún problema.
Es igual de bueno, porque de
rsync.exe
todos modos solo necesita el archivo.fuente