我在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
文件。