我在Windows机器上工作,并且使用Git附带的bash shell。但是在此版本的bash shell中缺少许多实用程序。
如何在此Shell上安装更多命令?
many utilities are missing in this version of bash shell。请添加您要使用的缺少的命令。
我在Windows机器上工作,并且使用Git附带的bash shell。但是在此版本的bash shell中缺少许多实用程序。
如何在此Shell上安装更多命令?
many utilities are missing in this version of bash shell。请添加您要使用的缺少的命令。
Answers:
您可能会使用两种版本的Git- msysgit发行版或Cygwin。
尽管您可能只在安装Cygwin的过程中安装了Git(如果使用的是Cygwin),但是Cygwin有一个名为setup.exe的程序,可用于添加软件包。本质上,您所要做的就是运行setup.exe并选择进入“ 选择软件包”窗口时想要安装的程序。此处的简介很好地概述了详细描述过程的图像。
Cygwin的安装程序非常聪明,可以确定您已经存在一个安装程序,它将为您的安装程序添加软件包(而不是取消安装并重新开始)。
您可能正在使用的Git的另一个版本(如果不是Cygwin)是msysgit。由于msysgit安装了一个与MinGW真正不兼容的最小Unix环境,因此最终您将不得不在msysgit旁边安装MinGW套件。MinGW 入门页面详细介绍了如何安装MinGW-由于我个人没有使用MinGW的经验,因此我真正能做的就是向他们提供指导。
然后,您必须将msysgit安装迁移到MinGW。这可以通过执行以下操作(从此处获取)来完成。完成以下顺序后,MinGW应该找到您的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
uname -o在bash终端中运行来判断安装了什么。
使用最新的Windows Git安装程序,安装其他Shell脚本和程序非常容易。
我建议您使用Chocolatey 安装git choco install git,因为您可以通过执行来更新git(以及随Chocolatey安装的所有其他工具)choco upgrade all。
只需将可执行文件放入C:\Program Files\Git\usr\bin(%ProgramFiles%\Git\usr\bin)。
将文件git-fresh复制到C:\Program Files\Git\usr\bin。
src/到C:\Program Files\Git\usr\bin您可以Wget, Hugo, Xpdf, make, Nano从此处下载其他Unix统一性:https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058
wget64.exe,以wget.exe在必要时。wget.exe您的Git\mingw64\bin\。注意:在Git Bash上使用Wget创建WARC文件时,我注意到了一些错误。要更复杂地使用Wget,请考虑使用Cygwin。
雨果静态网站生成器可以二进制格式下载,没有安装程序。bin轻松将其放入您的Git Bash路径中。从发行页面中获取Windows 64位版本。解压缩下载文件,然后复制hugo.exe到您的Git\mingw64\bin目录中。
Xpdf是用于处理PDF文件的便捷实用程序。
xpdf-tools-win-4.00\bin64\到您的中Git\mingw64\bin\。pdftotext和的工具pdftopng。make-4.1-2-without-guile-w32-bin.zip(获取不带古怪的版本)。Git\mingw64\合并文件夹中,但不要覆盖/替换任何现有文件。截至2018年,最新版本的Git Bash包括Nano,因此这是不必要的!
.exe命名该文件nano-git-0d9a7347243.exe(在撰写本文时)。nano.exe,然后复制到mingw64\bin目录。winpty,例如winpty nano test.txt。我今天找到了一个非常简单的答案,该答案适用于rsync。
rsync从futureware.at下载*C:\rsync-3.1.2-2-x86_64.pkg*我不知道futureware.at的背后是谁,我希望链接到更主要的资源。
我尝试了以下操作,并将emacs安装到了git-bash上。1.将msys2安装在某个地方(不必是同一台计算机)。2.在msys2下,运行以下命令:
cd /tmp mkdir -p var/lib cp -R /var/lib/pacman var/lib/ pacman -Sr /tmp emacs tar zcf emacs.tar.gz usr
复制
emacs.tar.gz到可以从git-bash访问的位置,然后在git-bash下:tar zxf emacs.tar.gz -C / emacs
就这样,祝您好运。
第一篇文章发表后,我尝试了另一台计算机,但无法正常工作。事实证明,git-bash中缺少某些dll。然后,我按照以下步骤在干净的虚拟机中进行了测试:
更新msys2,打开msys64控制台并运行:
pacman -Syyu
出现提示时,关闭msys64控制台,然后再次运行上述命令。
按照前面的步骤获取emacs文件(在msys64中运行以下命令):
cd /tmp
mkdir -p var/lib
cp -R /var/lib/pacman var/lib/
pacman -Sr /tmp emacs
tar zcf emacs.tar.gz usr
mv emacs.tar.gz /c/tmp
ps:我曾经在/ d / tmp而不是/ tmp中尝试了上述步骤,但无法将emacs安装到它。
打开git-bash并解压缩emacs文件:
cd /c/tmp
tar zxf emacs.tar.gz -C /
它将抱怨缺少共享库“?” 现在尝试运行emacs。“?” 不会透露给任何可读性
返回msys64并获取msys2 dll:
ls --color=never /bin/*.dll > /c/tmp/1.txt
在git-bash中将dll与msys进行比较:
cd /c/tmp
git init
git add 1.txt && git commit
ls --color=never /bin/*.dll | sed 's#\*$##g' > /c/tmp/1.txt
git diff 1.txt | grep '^-' | sed '1d' | sed 's#^-/bin/##g' > diff_dlls.txt
就我而言,diff_dlls.txt中有26个dll。
将dll从msys64复制到git-bash:
在msys64中:
mkdir /c/tmp/dlls
cat /c/tmp/diff_dlls.txt | xargs -I {} cp /bin/{} /c/tmp/dlls
在git-bash中:
cp /c/tmp/dlls/* /bin
全部完成,现在emacs在git-bash中运行。这26个dll中的某些可能不是必需的,但我希望节省时间而不是磁盘空间。
如果在Windows(MinGW64)上使用Git bash,我很难将rsync添加到其中。不断出错:dup()in / out / err失败
相反,最终使用Cygwin起作用了。
我在Windows的Gitbash中使用rysnc的步骤
Windows->系统->高级设置->环境变量
为C:\ cygwin64 \ bin \添加路径
***致命错误-检测到cygheap基本不匹配
可以通过创建脚本来扩展git-bash中功能的数量,并通过在~/.bash_profile文件中定义它们来调用它们。
例
如果要使用该watch命令,则可以将此脚本添加到~/.bash_profile:
https://gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda
ARGS="${@}" clear; while(true); do OUTPUT=`$ARGS` clear echo -e "${OUTPUT[@]}" done
并将其包装在一个函数中:
watch() {
ARGS="${@}"
clear;
while(true); do
OUTPUT=`$ARGS`
clear
echo -e "${OUTPUT[@]}"
done
}
一旦保存并运行该文件,source ~/.bash_profile便应该能够监视命令的输出。
安装“ Git for Windows SDK”(滚动到https://gitforwindows.org/的底部,该链接提供了从https://github.com/git-for-windows/build-extra/releases下载安装程序的链接)/最新)
https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321
rsync您可以直接从mysys下载rsync文件。只需在页面上搜索rsync,然后选择具有最新日期/最新版本号的页面即可。通过
以下文件解压缩该文件(rsync-3.1.3-1-x86_64.pkg.tar.xz)
tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
然后在复制rsync ./usr/bin/rsync.exe
并将其粘贴到Git安装的/ usr / bin文件夹中。
在我的机器上C:/Program Files/Git/usr/bin/
您可以通过以下方式查看Git安装的位置
where git
这是hisplan的摘要存储区,其中包含说明以及指向rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f83073dde6上的3.1.3-1版本的链接 。
注意:rsync-3.1.3-1-x86_64.pkg.tar.xz由于权限不允许,我无法将文件直接解压缩到Git文件夹中。而且Git Bash没有sudo。
但是我可以将其直接解压缩到我的下载文件夹中,没有问题。
同样,因为您只需要该rsync.exe文件。