Saya telah membeli dan saya menggunakan Windows 7 Ultimate, dan saya suka menggunakannya untuk mengembangkan aplikasi. Salah satu sisi negatifnya (seperti setiap OS) adalah saya tidak dapat menjalankan skrip Bash. Apakah ada cara untuk menjalankan skrip Bash di Windows dengan menginstal beberapa perangkat lunak? Tidak apa-apa jika tidak berfungsi 100%, tetapi selama fungsionalitas yang paling umum tersedia, ini akan bagus.
100
Jawaban:
Instal Cygwin , yang menyertakan Bash di antara banyak utilitas GNU dan Unix lainnya (tanpanya, kemungkinan besar bash akan sangat berguna).
Pilihan lainnya adalah MSYS MinGW yang menyertakan bash dan seperangkat lebih kecil dari utilitas yang lebih penting seperti awk. Secara pribadi saya lebih suka Cygwin karena termasuk alat pengangkat berat seperti Perl dan Python yang menurut saya tidak dapat saya hidup tanpanya, sementara MSYS berhemat pada ini dan berasumsi Anda akan menginstalnya sendiri.
Diperbarui : Jika ada yang tertarik dengan jawaban ini dan menjalankan MS-Windows 10, harap dicatat bahwa MS-Windows 10 memiliki fitur " Windows Subsystem For Linux " yang - setelah diaktifkan - memungkinkan Anda untuk menginstal gambar mode pengguna Ubuntu dan lalu jalankan Bash itu. Ini memberikan 100% kompatibilitas dengan Ubuntu untuk debugging dan menjalankan skrip Bash, tetapi pengaturan ini sepenuhnya berdiri sendiri dari Windows dan Anda tidak dapat menggunakan skrip Bash untuk berinteraksi dengan fitur Windows (seperti proses dan API) kecuali untuk akses terbatas ke file melalui fitur DrvFS .
sumber
mingw32
direktori yang pada dasarnya berisi MSYS. Jadi Git untuk Windows adalah MinGW yang menyertakan Git (opsional di penginstal MSYS) dengan penginstal "lebih bagus": superuser.com/a/1362301/10942Opsi terbaik yang bisa saya temukan adalah Git Windows. Instal saja lalu klik kanan dan klik "Git Bash Here" ini akan membuka jendela bash
Ini akan membuka jendela bash seperti ini:
dan perintah linux bekerja ...
Saya sudah mencoba perintah 'sh', 'vi', 'ssh', 'curl', dll ...
sumber
Jika Anda mencari sesuatu yang lebih asli, Anda dapat menggunakan getGnuWin32 untuk menginstal semua alat baris perintah unix yang telah dipindahkan. WinBash plus itu memberi Anda sebagian besar lingkungan unix yang berfungsi. Tambahkan console2 untuk emulator terminal yang lebih baik dan Anda hampir tidak dapat memberi tahu Anda di windows!
Cygwin adalah toolkit yang lebih baik secara keseluruhan, tetapi saya mendapati diri saya mengalami masalah kejutan karena pembagian antara itu dan jendela. Tak satu pun dari solusi ini sebaik sistem linux asli.
Anda mungkin ingin melihat penggunaan virtualbox untuk membuat VM linux dengan distro pilihan Anda. Atur untuk berbagi folder dengan os host, dan Anda dapat menggunakan lingkungan pengembangan linux yang sebenarnya, dan berbagi dengan windows. Berhati-hatilah dengan penanda EOL itu, mereka mengerti setiap saat.
sumber
Pilihan terbaik? Windows 10. Dukungan Bash Asli!
sumber
cbwin
... tapi itu sudah terlalu merepotkan hanya untuk mengatasinya).Anda selalu dapat menginstal Cygwin untuk menjalankan shell Unix di bawah Windows. Saya menggunakan Cygwin secara ekstensif dengan Window XP.
sumber
Setelah menginstal git-extensionions ( https://code.google.com/p/gitextensions/ ) Anda dapat menjalankan file .sh dari command prompt. (Tidak diperlukan ./script.sh, jalankan saja seperti file bat / cmd) Atau Anda dapat menjalankannya di lingkungan bash "penuh" dengan menggunakan shell bash MinGW Git.
Saya bukan penggemar Cygwin (ya saya yakin ini benar-benar hebat), jadi menjalankan skrip bash di windows tanpa harus menginstalnya sempurna untuk saya.
sumber
bash
dari contoh PowerShell, gagal, menginstal git-extensions dan mencoba lagi dan itu berhasil untuk saya.Untuk menjalankan secara native, Anda mungkin perlu menggunakan Cygwin (yang saya tidak bisa hidup tanpanya saat menggunakan Windows). Jadi langsung saja, +1 untuk Cygwin. Yang lainnya tidak akan beradab.
NAMUN, itu dikatakan, saya baru-baru ini mulai menggunakan kombinasi utilitas untuk dengan mudah PORT Bash skrip ke Windows sehingga rekan kerja anti-Linux saya dapat dengan mudah menjalankan tugas-tugas kompleks yang lebih baik ditangani oleh utilitas GNU.
Saya biasanya dapat mem-port skrip Bash ke Batch dalam waktu yang sangat singkat dengan membuka skrip asli di satu panel dan menulis file Batch di panel lain. Alat-alat yang saya gunakan adalah sebagai berikut:
Saya lebih suka UnxUtils daripada GnuWin32 karena fakta bahwa [seseorang tolong koreksi saya jika saya salah] Utils GnuWin biasanya harus diinstal, sedangkan UnxUtils adalah binari mandiri yang hanya berfungsi di luar kotak.
Namun, CoreUtils tidak menyertakan beberapa utilitas * NIX yang sudah dikenal seperti cURL, yang juga tersedia untuk Windows (curl.haxx.se/download.html).
Saya membuat folder untuk proyek, dan selalu SET PATH =. dalam file .bat sehingga tidak ada perintah lain selain perintah shell CMD dasar yang dirujuk (serta UnxUtils tertentu yang diperlukan dalam folder proyek agar skrip Batch berfungsi seperti yang diharapkan).
Kemudian saya menyalin file .exe CoreUtils yang diperlukan ke dalam folder proyek dan mereferensikannya di file .bat seperti ". \ Curl.exe -s google.com", dll.
Program Bat2Exe adalah tempat keajaiban terjadi. Setelah file Batch Anda selesai dan berhasil diuji, luncurkan Bat2Exe.exe, dan tentukan jalur ke folder proyek. Bat2Exe kemudian akan membuat biner Windows yang berisi semua file di folder tertentu itu, dan akan menggunakan .bat pertama yang muncul untuk digunakan sebagai file eksekusi utama. Anda bahkan dapat menyertakan file .ico untuk digunakan sebagai ikon untuk file .exe terakhir yang dibuat.
Saya telah mencoba beberapa program jenis ini, dan banyak binari yang dihasilkan ditandai sebagai malware, tetapi versi Bat2Exe yang saya referensikan berfungsi dengan sempurna dan file .exe yang dihasilkan dipindai sepenuhnya bersih.
Eksekusi yang dihasilkan dapat dijalankan secara interaktif dengan mengklik dua kali, atau dijalankan dari baris perintah dengan parameter, dll., Seperti file Batch biasa, kecuali Anda akan dapat memanfaatkan fungsionalitas dari banyak alat yang biasanya Anda gunakan di Bash.
Saya menyadari ini semakin lama, tetapi jika saya mungkin sedikit menyimpang, saya juga telah menulis skrip Batch yang saya sebut PortaBashy yang dapat diluncurkan oleh rekan kerja saya dari jaringan bersama yang berisi instalasi Cygwin portabel. Ini kemudian menetapkan variabel% PATH% ke format normal * NIX (/ usr / bin: / usr / sbin: / bin: / sbin), dll. Dan dapat diluncurkan ke shell Bash itu sendiri atau meluncurkan yang lebih kuat dan emulator terminal MinTTY yang cantik.
Selalu ada banyak cara untuk mencapai apa yang ingin Anda lakukan; ini hanya masalah menggabungkan alat yang tepat untuk pekerjaan itu, dan seringkali itu bermuara pada preferensi pribadi.
sumber
Ada satu lagi kemungkinan teoritis untuk melakukannya: versi profesional Windows memiliki dukungan POSIX bawaan, jadi bash dapat dikompilasi untuk Windows secara asli.
Sayang sekali, tapi saya masih belum menemukan yang dikompilasi sendiri ...
sumber