Bagaimana cara membuat pintasan yang membuka bash shell Cygwin pada direktori yang saya pilih (terutama UNC)?

8

Diberikan instalasi standar Cygwin untuk Windows XP, saya ingin membuat pintasan Explorer standar yang membuka bash shell yang sudah terbuka pada direktori yang saya pilih. Direktori adalah jalur UNC. Cygwin.bat standar tidak berfungsi karena memanggil cmd.exe, dan cmd.exe tidak suka jalur UNC. Idealnya, itu tidak memulai cmd.exe atau shell lain untuk membuka bash. Saya sudah mencoba memanipulasi .bashrc dan mengeruk ingatan saya dari hari-hari Unix saya, tetapi sayangnya itu kurang hari ini. Berbagai solusi yang saya coba hampir berhasil, tetapi tidak cukup.

Kit
sumber

Jawaban:

11

Saya belum bermain-main dengan jalur UNC, tetapi secara umum Anda harus menggunakan garis miring ke depan, bukan garis miring saya percaya. Untuk drive biasa, Anda dapat menggunakan /cygdrive/cmisalnya untuk mengakses drive C.

Dalam file batch, untuk membuka shell ke root C:Anda bisa menggunakan:

c:\cygwin\bin\bash.exe --login -i -c 'cd "/cygdrive/c";bash'

Anda mungkin juga tertarik chere dengan entri menu konteks untuk Open bash di sini :

teks alternatif

John T
sumber
Alasan lain untuk digunakan chereadalah memungkinkan Anda untuk memilih terminal apa yang ingin Anda buka, terminal cygwin default adalah IMO yang agak kikuk. Saya memilikinya untuk membuka terminal rxvt sebagai gantinya.
Nifle
Terima kasih atas jawaban anda. Saya melihat di mana salah satu upaya saya salah: tidak; bash setelah cd! Terima kasih juga untuk entri menu konteks ...
Kit
Alat yang hebat ketika Anda ingin menulis beberapa skrip untuk seseorang tetapi mereka tidak ingin membuka prompt shell dan cd ke direktori kerja.
Kalkulus Knight
1

Saya menambahkan subfolder di registri di HKEY_CLASSES_ROOT/Directory/shell, menambahkan kunci Cygwindengan kunci di commandmana nilai perintah itu

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""
Bondax
sumber