私はWindowsマシンで作業しており、Gitに付属のbashシェルを使用しています。しかし、このバージョンのbashシェルには欠けている多くのユーティリティがあります。
このシェルにさらにコマンドをインストールするにはどうすればよいですか?
many utilities are missing in this version of bash shell
。使用したいコマンドが欠落しているものを追加してください。
私はWindowsマシンで作業しており、Gitに付属のbashシェルを使用しています。しかし、このバージョンのbashシェルには欠けている多くのユーティリティがあります。
このシェルにさらにコマンドをインストールするにはどうすればよいですか?
many utilities are missing in this version of bash shell
。使用したいコマンドが欠落しているものを追加してください。
回答:
使用する可能性が高いGitには、msysgitディストリビューションまたはCygwinの 2つのバージョンがあります。
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ターミナルで実行することで、インストールしたものを確認できます。
最近のGit for Windowsインストールでは、追加のシェルスクリプトとプログラムのインストールは非常に簡単です。
を実行してgit(およびchocolateyと共にインストールされた他のすべてのツール)を更新できるため、chocolatey を使用してgitをインストールすることをお勧めしchoco install git
ますchoco upgrade all
。
実行可能ファイルをC:\Program Files\Git\usr\bin
(%ProgramFiles%\Git\usr\bin
)に入れるだけです。
ファイルコピーのgit-新鮮にします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を検討してください。
Hugo静的サイトジェネレーターはバイナリとしてダウンロードでき、インストーラーはありません。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
(guileなしのバージョンを取得)。Git\mingw64\
フォルダーのマージにコピーしますが、既存のファイルを上書き/置換しないでください。2018年現在、Git Bashの最新バージョンにはNanoが含まれているため、これは不要です!
.exe
名前が付けられたファイルのみが必要ですnano-git-0d9a7347243.exe
(この記事の執筆時点)。nano.exe
し、mingw64\bin
ディレクトリにコピーします。winpty
、などを使用して呼び出すことができますwinpty nano test.txt
。今日はとても簡単な答えが見つかりましたrsync
。
rsync
からダウンロード*C:\rsync-3.1.2-2-x86_64.pkg
* futureware.atの背後にいるのは誰なのかわかりません。より主要なソースにリンクすることを好みます。
以下を試して、git-bashにemacsをインストールしました。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-x86_64-20180531およびGit-2.19.1-64-bitをインストールします。
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:/ tmpの代わりに/ d / 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の一部は必要ないかもしれませんが、ディスクスペースの代わりに時間を節約したいと思います。
Git bash for Windows(MinGW64)を使用している場合、rsyncを追加するのに苦労しました。エラーが発生し続ける:dup()in / out / err failed
代わりに、Cygwinの使用が最終的に機能しました。
Gitbash for Windowsで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
、コマンドの出力を監視できるはずです。
「WindowsのSDKのためのGit」の下に(スクロールインストールhttps://gitforwindows.org/からのダウンロードインストーラへのリンクを提供https://github.com/git-for-windows/build-extra/releasesを/ latest)
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 at ./usr/bin/rsync.exe
をコピーして、Gitインストールの/ usr / binフォルダーに貼り付けます。
私のマシンでは、それはC:/Program Files/Git/usr/bin/
Gitのインストール場所は次の方法で確認できます
where git
以下に、rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f83073dde6の 3.1.3-1バージョンへのリンクとともに指示があるhisplanによる要点リポジトリを示し ます。
注:rsync-3.1.3-1-x86_64.pkg.tar.xz
アクセス許可では許可されていないため、Gitフォルダーにファイルを直接展開できませんでした。また、Git Bashにはsudoがありません。
ただし、ダウンロードフォルダーに直接解凍しても問題ありません。とにかくファイル
だけが必要なので、それも同様rsync.exe
です。