Bagaimana saya bisa meluncurkan jendela Git Bash baru dengan direktori kerja yang ditentukan menggunakan skrip (baik Bash atau Windows batch)?
Tujuan saya adalah meluncurkan beberapa jendela Git Bash dari satu skrip, masing-masing diatur ke direktori kerja yang berbeda. Dengan cara ini saya dapat dengan cepat mulai bekerja setelah mem-boot komputer daripada harus membuka jendela Git Bash dan menavigasi masing-masing ke direktori kerja yang benar.
Saya tidak bertanya bagaimana mengubah direktori kerja default, seperti pertanyaan ini, tetapi untuk meluncurkan satu atau lebih jendela terminal dengan direktori kerja yang berbeda dari sebuah skrip.
bash
shell
batch-file
git-bash
holocronweaver.dll
sumber
sumber
Jawaban:
Opsi lainnya adalah membuat pintasan dengan properti berikut:
Target harus:
Start in adalah folder yang Anda inginkan agar prompt Git Bash Anda diluncurkan.
sumber
Start in
ada hubungannya dengan direktori kerja yang dipikirkan program.Git Bash menggunakan
cmd.exe
terminalnya ditambah perpanjangan dari MSYS / MinGW yang disediakan olehsh.exe
, semacamcmd.exe
pembungkus. Di Windows Anda meluncurkan terminal baru menggunakanstart
perintah.Jadi skrip shell yang meluncurkan terminal Git Bash baru dengan direktori kerja tertentu adalah:
(cd C:/path/to/dir1 && start sh --login) & (cd D:/path/to/dir2 && start sh --login) &
Skrip batch Windows yang setara adalah:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
Untuk mendapatkan font dan ukuran jendela yang sama dengan yang diluncurkan Git Bash dari menu mulai, yang paling mudah adalah menyalin pengaturan pintasan menu mulai ke default konsol perintah (untuk mengubah default, buka
cmd.exe
, klik kiri ikon kiri atas, dan pilih Default).sumber
cd
ke direktori saya ingin Git Bash dimulai, dan kemudian menjalankanstart
perintah dalam contoh Anda akan benar-benar memberi saya terminal Git Bash di direktori itu. Apakah Anda yakin tidak melakukancd $HOME
(ataucd
tanpa args) di suatu tempat di file bash rc Anda? (Seperti.bashrc
,,.profile
...) Ingatlah juga huruf drive. Jika Anda ingin memulai Git Bash padaX:
drive, maka melakukancd x:\path
tidak akan memotongnya, Anda harus melakukannyax:
dan kemudiancd \path
sebelumstart
cd x:\path
. Akan mengedit solusi saya sesuai.cmd.exe
pengaturan default tidak sama, seperti pengaturan default Git Bash pada instalasi Git Bash! Dan Anda harus memahami perbedaan antara pengaturan default (Defaults
dari menu konteks) dan yang sekarang (Properties
). Jadi, yang saya lakukan adalah: (1) buka Git Bash, pilihProperties
(pengaturan saat ini), (2) sesuaikan, persis seperti yang saya inginkan (font, ukuran jendela + posisi), (3) bukacmd.exe
, pilihDefaults
, (4) ) salin-tempel pengaturan dari Git Bash kecmd.exe
. KemudianOK
dalamcmd.exe
'pengaturan,Cancel
dalamGit Bash
pengaturan dan voila!Coba opsi --cd =. Dengan asumsi GIT Bash Anda berada di C: \ Program Files \ Git, itu akan menjadi:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
Jika digunakan di dalam kunci registri, parameter folder dapat diberikan dengan% 1:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
sumber
%1
parameter registri?Mari tambahkan jawaban dari @Drew Noakes:
Target:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
Itu
cd
param harus menjadi salah satu pilihan cara untuk menentukan direktori kerja.Perhatikan juga, bahwa saya tidak memiliki
--login
parameter apa pun di sana: Sebagai gantinya, saya menggunakan aplikasi tambahan lain, yang didedikasikan hanya untuk kunci SSH: Pageant (agen otentikasi PuTTY) .Mulai di:
Dengan cara yang sama, seperti yang disebutkan / ditampilkan oleh @Drew Noakes di sini lebih awal, saya juga menggunakannya.
Tombol pintas:
Pintasan semacam itu adalah fitur lain yang kurang dikenal di Windows. Namun ada batasan: Agar pintasan berfungsi, pintasan harus ditempatkan di suatu tempat di subdirektori Pengguna: Desktop baik-baik saja.
Jika Anda tidak ingin itu terlihat, namun masih dapat diaktifkan, letakkan
.lnk
file ini yaitu ke folder luncur cepat, karena direktori tersebut ditujukan untuk pintasan tersebut. (tidak peduli apakah ditampilkan di desktop) # 76080 # 3619355"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
sumber
Selain itu, Win10 memberi Anda opsi untuk membuka git bash dari direktori kerja Anda dengan mengklik kanan folder Anda dan memilih GitBash di sini.
sumber
Windows 10
Ini pada dasarnya adalah jawaban @ lengxuehx, tetapi diperbarui untuk Win 10, dan ini mengasumsikan instalasi bash Anda dari Git Bash untuk Windows dari unduhan resmi git .
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Saya akhirnya menggunakan ini setelah saya kehilangan item menu konteks untuk Git Bash sebagai perintah saya untuk menjalankan dari pengaturan registri. Jika Anda penasaran tentang itu, saya melakukan ini:
Bash
dishell
kunci diHKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(bukan kunci baru!) Yang merupakan jalur lengkap ke git-bash.exe Anda, termasuk bagian git-bash.exe. Anda mungkin perlu membungkusnya dengan tanda kutip.Bash
ke teks yang ingin Anda gunakan di menu konteksBash
dipanggilcommand
command
nilai default menjadicmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Maka Anda harus dapat menutup registri dan mulai menggunakan Git Bash dari direktori mana pun yang sebenarnya. Misalnya,
This PC
bukan direktori sebenarnya.sumber
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
adalah"C:\Program Files\Git\git-bash.exe" "--cd=%v."
Ini adalah perintah yang dapat dijalankan secara langsung
Run dialog box
(pintasannya win+ R) dan juga berfungsi dengan baik disimpan sebagai.bat
skrip:cmd /c (start /d "/path/to/dir" bash --login) && exit
sumber
/b
untuk Win 10Saya tidak terbiasa dengan Git Bash tetapi berasumsi bahwa itu adalah git shell (seperti
git-sh
) yang berada di/path/to/my/gitshell
dan program terminal favorit Anda disebut `myterm ', Anda dapat membuat skrip berikut ini:(cd dir1; myterm -e /path/to/my/gitshell) & (cd dir2; myterm -e /path/to/my/gitshell) & ...
Perhatikan bahwa parameter
-e
untuk eksekusi dapat diberi nama berbeda dengan program terminal favorit Anda.sumber
myterm
adalah cmd.exe dengan tambahan melalui MSYS / MinGW. Untuk meluncurkan cmd baru, Anda menggunakanstart
perintah khusus Windows diikuti dengan jalur ke Git Bashsh.exe
dan kemudian opsi baris perintah apa pun yang Anda suka. Jawaban saya memberikan detail.Saya mungkin memberikan arah yang salah, tapi, saya suka trik ini.
Menggunakan Windows Explorer, menunjuk ke direktori yang Anda inginkan, ketik "cmd" di bilah alamat itu akan membuka prompt perintah Windows di direktori itu.
Jika Anda memiliki direktori "Git" di jalur Anda, dengan cara yang sama, Anda dapat mengetik "git-bash" di bilah alamat dan Git Shell akan terbuka di direktori itu.
sumber