前言
git bash 使用了mingw,這給擴展帶來了極大可能性,但是由於精簡,gitbash的mingw-get
(mingw的包管理工具)是被刪除了的,但是安裝擴展要和git bash分開,進行額外安裝,因爲他們的動態庫有一些不一致,如果強行覆蓋動態庫將導致部分軟件無法啓動
step1 下載mingw-get
官網http://www.mingw.org/
mingw-get下載地址https://mirrors.tuna.tsinghua.edu.cn/osdn/mingw/68260/mingw-get-setup.exe
step2 安裝
隨便安裝到一個地方,選項自選,看個人喜好
step3 git bash關聯
在gitbash裏找到你安裝的位置
/c/MinGW/bin/mingw-get.exe --version #檢查位置是否正確
cp ~/.bash_profile ~/.bash_profile.bak.`date '+%Y-%m-%d.%H:%M:%S'` #備份
echo 'export PATH=$PATH:/c/MinGW/bin' >> ~/.bash_profile #注意替換正確的bin路徑和使用單引號,否則會自動翻譯變量
source ~/.bash_profile #刷新當前bash
git bash下測試
更新軟件列表
mingw-get update
查看可安裝的包
mingw-get list|grep Package
安裝make(linux下makefile利器)
mingw-get list|grep Package|grep make #查找名字包含make的包
mingw-get install mingw32-make #安裝make
mingw32-make
1)如果mingw32-make中文亂碼
二進制文件返回的中文是gbk編碼,解決方式有兩種
- 設置git bash編碼爲GBK
在gitbash頁面右鍵打開Options
選擇編碼爲gbk,但這個方法缺點是ssh連接linux時因爲linux編碼是utf-8而亂碼,還得改成utf-8,還是以utf-8爲標準不推薦該方案 - 使用命令行代理轉換輸出流
例子:commandproxy.sh
#!/bin/bash
bashname=$(basename $0)
$@ 1> /tmp/$bashname.out 2>/tmp/$bashname.err
state=$?
iconv -f GB2312 -t UTF-8 /tmp/$bashname.out
if test -s /tmp/$bashname.err; then
iconv -f GB2312 -t UTF-8 /tmp/$bashname.err 1>&2
exit $state
fi
使用方法 sh commandproxy.sh mingw32-make
將輸出utf-8編碼的中文
一勞永逸的話在bin目錄下編寫
make
#!/bin/bash
bashname=$(basename $0)
mingw32-make $@ 1> /tmp/$bashname.out 2>/tmp/$bashname.err
state=$?
iconv -f GB2312 -t UTF-8 /tmp/$bashname.out
if test -s /tmp/$bashname.err; then
iconv -f GB2312 -t UTF-8 /tmp/$bashname.err 1>&2
exit $state
fi
然後就可以使用make
了