如何将man和zip添加到";吉特·巴什;在Windows上安装
我在Windows上使用-即通过集成的如何将man和zip添加到";吉特·巴什;在Windows上安装,windows,git,installation,git-bash,mingw-w64,Windows,Git,Installation,Git Bash,Mingw W64,我在Windows上使用-即通过集成的bash为Windows使用的git。显然,它使用了MINGW/MSYS基础。(更新自@VonC:2015年第4季度起至今。) 因此,已经安装了很多MSYS工具,从awk到zcat。但是,我没有使用man命令和zip将多个文件压缩到一个zip文件中(unzip存在!) 我可以从哪里安装它们?我不想安装MINGW系统的另一个副本!是否可以只向gitbash安装添加一些预编译工具?可以从安装zip命令人未提供(太大) 但是需要注意的是,如果您只想从GoW添加zi
bash
为Windows使用的git
。显然,它使用了MINGW/MSYS基础。(更新自@VonC:2015年第4季度起至今。)
因此,已经安装了很多MSYS工具,从awk
到zcat
。但是,我没有使用man
命令和zip
将多个文件压缩到一个zip文件中(unzip
存在!)
我可以从哪里安装它们?我不想安装MINGW系统的另一个副本!是否可以只向
gitbash
安装添加一些预编译工具?可以从安装zip
命令<代码>人未提供(太大)
但是需要注意的是,如果您只想从GoW添加
zip
命令,则必须下载并安装整个GoW系统。然后,您可以从bin
目录中删除其他命令,但是请确保将所需的DLL保留在目录中。您可以通过将man
映射到--help | less
来模拟shell中的一小部分人的行为
不幸的是,在我的机器上,bash别名不会向位置参数添加标志,它会尝试将标志作为命令运行,但失败(alias man=“$1--help”
不起作用)
不允许使用名为man()
的函数
幸运的是,bash函数和别名的组合可以实现这种映射。将下面的代码放在~/.bashrc中(如果没有,请创建一个)。别忘了source~/.bashrc
# man command workaround: alias can't pass flags, but can't name function man
m() {
"$1" --help | less
}
alias man="m"
它不能提供完整的手册页,但是如果您所要查找的只是命令及其标志的基本信息,那么这可能就是您所需要的全部信息。我很高兴与大家分享我在这个问题上的经验,自从我使用Groovy的第一天起,我已经不知道两年了。我的方法需要在Windows操作系统中安装适用于Windows的
git
这些步骤用于安装7z
命令行实用程序,其行为与zip
稍有不同:
- 从下载并安装7-Zip。默认情况下,它安装在Windows 10中的目录
下/c/Program Files/7-Zip
- 在管理员权限下运行git Bash并导航到目录
,您可以运行命令/c/Program Files/git/mingw64/bin
ln-s”/c/Program Files/7-Zip/7z.exe“7z.exe
我很肯定这对你会有很大帮助。相信我 您可以从安装单个GNU工具,例如
zip
然后将
“/c/Program Files(x86)/GnuWin32/bin”
添加到启动脚本中的路径中,如.profile
、.bash\u profile
、.bashrc
等。以下是您可以遵循的步骤
转到以下链接
找出你缺少的任何命令
这里我需要zip和bzip2作为zip命令。因为zip命令依赖于bzip2.dll来运行。否则,您将得到错误“加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录”
解压缩下载的文件
在这里,我正在bin文件夹中下载“zip.exe”的“zip-3.0-bin.zip”和“bzip2-1.0.5-bin.zip”的“bzip2.dll”/bin/.exe
将命令exe文件复制到git bash文件夹中
这里我正在将“zip.exe”和“bzip2.dll”复制到\Git\usr\bin
参考链接
,无需任何安装即可准备,可以创建zip存档
mkdir workrepo
cd workrepo
git init
cp -r [target_file_or_dir] .
git add .
git commit -m commit
git archive -o ../myarchive.zip @
cd ..
rm -rf workrepo
以下脚本可能可用:
zip.sh foo.zip目标文件或目录
#!/usr/bin/bash
set -eu
unset workdir
onexit() {
if [ -n ${workdir-} ]; then
rm -rf "$workdir"
fi
}
trap onexit EXIT
workdir=$(mktemp --tmpdir -d gitzip.XXXXXX)
cp -r "$2" "$workdir"
pushd "$workdir"
git init
git add .
git commit -m "commit for zip"
popd
git archive --format=zip -o "$1" --remote="$workdir" HEAD
将7-zip添加到gitbash很容易
在windows上安装7-zip
将7-zip文件夹(C:\ProgramFiles\7-zip
)添加到路径
在gitbash
exp:export PATH=$PATH:“C:\Program Files\7-Zip”
(临时)
在Windows上,在下面添加类似路径的图像(永久)
将7z.exe的副本复制为zip.exe
重新打开gitbash。完成了李>
如果你跳过第三步。您仍然可以调用zip命令作为7z
而不是zip
我刚刚成功了!在我的笔记本电脑上
结论:Gitbash是基于windows路径运行的,我认为您可以运行添加到windows路径中的任何命令
顺便说一句,如果您尝试此方法,请不要忘记提供结果反馈。关于zip
,您可以使用以下perl
脚本打包文件:
#!/usr/bin/perl
use IO::Compress::Zip qw(:all);
$z = shift;
zip [ @ARGV ] => $z or die "Cannot create zip file: $ZipError\n";
如果使其可执行,将其命名为zip
,并将其放入$PATH
,则可以如下方式运行它:
zipWithZiptool "my.zip" *
zip archive.zip文件…
但是,它不适用于目录。不需要安装任何东西,因为Git for Windows安装中已经有了perl
和所有必需的模块
关于man
,至少对于git
有这样一个文档:
zipWithZiptool "my.zip" *
git选项--help
它将在您的默认浏览器中打开。如果您也愿意安装CygWin,您可以将CygWin路径添加到GitBash路径中,如果有zip,它将起作用。e、 g.添加
PATH=$PATH:/c/cygwin/bin
export PATH
到您的.bashrc
;注意:我会把它放在路径的末尾,如图所示,而不是开头
因为CygWin有一个基于UI的安装程序,所以添加或删除zip或man等应用程序很容易
您可以通过以下方式找出每个窗口的窗口路径:
`cygpath -w /bin`
在各自的外壳中 下面是另一组稍有不同的说明,在windows上安装zip for git bash:
导航到
下载zip-3.0-bin.zip
在压缩文件的bin
文件夹中,找到文件zip.exe
将文件“zip.exe”解压缩到“mingw64”bin文件夹(对于我:C:\ProgramFiles\Git\mingw64\bin
)
$ which 7z
/c/ProgramData/chocolatey/bin/7z
$ cp /c/ProgramData/chocolatey/bin/7z.exe /c/ProgramData/chocolatey/bin/zip.exe
$ vi ~/bin/zip
#!/bin/bash
/c/Progra~1/7-Zip/7z.exe a "$@"
$ chmod ugo+x ~/bin/zip
+ zip ytt-lambda-website.zip main ytt
7-Zip 18.01 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2018-01-28
Scanning the drive:
2 files, 29035805 bytes (28 MiB)
Creating archive: ytt-lambda-website.zip
Add new data to archive: 2 files, 29035805 bytes (28 MiB)
zipWithZiptool "my.zip" *