Bagaimana saya bisa menjalankan skrip shell di Windows? [duplikat]


23

Saya pengguna Mac dan baru menggunakan Windows. Bagaimana saya bisa menjalankan skrip shell di Windows?

Secara umum, saya akan menyimpan file teks dengan ekstensi .shdan menjalankannya melalui Terminal. Tetapi bagaimana saya bisa melakukan itu di Windows?



2
Bisakah Anda memberikan contoh skrip yang ingin Anda jalankan di Windows?

1
Apakah Anda ingin menjalankan .shskrip shell yang sudah ada ? Atau hanya ingin tahu cara skrip untuk Windows?
Keltari

Jawaban:


30

Skrip dengan .shakhiran umumnya skrip Bourne shell (atau bash, atau ksh, atau zsh - semua shell berasal dari shell Bourne). (Perhatikan bahwa pada sistem mirip Unix, termasuk MacOS, .shsufiks tidak diperlukan; OS melihat #!/bin/shbaris di bagian atas skrip untuk menentukan cara menjalankannya.)

Windows tidak menyediakan shell seperti Bourne.

Anda dapat menginstal Cygwin , yang menyediakan lingkungan mirip Unix di Windows - tetapi tidak memiliki lingkungan "asli". (Komentar editorial: Cygwin sangat bagus untuk orang-orang seperti saya yang perlu menggunakan Windows tetapi lebih suka menggunakan Unix.)

Ada subsistem mirip Unix lain yang berjalan di bawah Windows, termasuk MinGW dan layanan Windows untuk paket UNIX yang disediakan oleh Microsoft.

Atau, alih-alih mencoba menulis dan menjalankan skrip shell mirip Unix, Anda dapat menulis file batch Windows. Ini biasanya memiliki .batatau .cmdakhiran. Mereka menggunakan perintah dan sintaksis yang sama dengan prompt perintah interaktif Windows.

Ada juga Windows PowerShell yang relatif baru ; Saya sendiri tidak terbiasa dengan itu, tetapi saya sudah mendengar hal-hal baik tentang itu.


3
Saya akan mendukung saran PowerShell sebagai pengguna PowerShell yang telah menulis beberapa skrip untuk melakukan segala sesuatu mulai dari me-reboot komputer jarak jauh atau mematikan layanan pada komputer jarak jauh untuk menarik daftar nama-nama komputer dari direktori aktif, membuat alfabetisasi, dan menguji masing-masing untuk layanan tertentu dan melakukan pemindahan file yang rumit dan besar. Secara harfiah dapat melakukannya SEMUA di windows.
Paperlantern

1
Perlu dicatat bahwa sementara cygwin memungkinkan skrip berjalan, skrip mungkin tidak berjalan dengan benar jika membuat beberapa asumsi tentang sistem yang mendasarinya (yaitu, binari yang tersedia, tata letak sistem file, dll.)
Daenyth


2

Pada Menang, ekstensi umum adalah .batatau .cmd. Sumber yang baik untuk perintah yang digunakan dalam shell Windows adalah ss64 - untuk CMD dan PowerShell.

Cygwin bukan "keharusan". Itu hanya memberi Anda gaya Linux - gunakan BASH on Win.


2

Bagaimana dengan UWIN ??

UWIN adalah paket perangkat lunak komputer yang dibuat oleh David Korn yang memungkinkan program yang ditulis untuk sistem operasi Unix dibangun dan dijalankan di Microsoft Windows dengan sedikit, jika ada, perubahan. Beberapa pengembangan perangkat lunak disubkontrakkan ke Wipro, India.

Periksa UWIN ini - Unix untuk Windows

Fitur yang menonjol dari UWIN

  1. Akses ke hampir semua alat baris perintah dari Unix di windows. 245 alat baris perintah tepatnya.
  2. Dilengkapi dengan kompiler Unix 'cc' asli serta sejumlah alat seperti 'make' dan pustaka yang diperlukan yang memungkinkan aplikasi Unix dibangun dan dijalankan pada mesin Windows dengan sedikit atau tidak ada perubahan dalam kode sumber.
  3. Opsi untuk menggunakan kompiler lain seperti Visual C ++ atau Mingw untuk mengkompilasi program. Paket Perl penuh matang.
  4. Pustaka X windows bagi mereka yang bercita-cita untuk mengembangkan aplikasi X di windows. Meskipun untuk menjalankan aplikasi tersebut di Windows, Anda memerlukan X server yang tidak dibundel dengan UWIN.
  5. UWIN hadir dengan applet panel kontrol (diakses melalui 'Start-> Settings-> Control Panel-> UWIN') yang dapat digunakan untuk mengkonfigurasi beberapa parameter sistem UWIN.

Penggunaan UWIN

  • Jalankan aplikasi Unix secara native di Windows dalam kecepatan penuh.
  • Gunakan kekuatan penuh alat baris perintah Unix pada Windows.
  • Shell korn yang dibundel dengan UWIN membuat pengguna Unix merasa betah di lingkungan Windows.
  • Kembangkan dan jalankan aplikasi UNIX pada Windows.
  • Kembangkan aplikasi X pada platform Windows.

Kerugian dari UWIN

  • UWIN tidak dibundel dengan server X sehingga pengguna tidak akan dapat menjalankan aplikasi X di windows. Meskipun ada server X komersial pihak ketiga yang tersedia yang dapat mengisi celah ini.
  • UWIN tidak dirilis di bawah GPL tetapi bebas untuk diunduh dan digunakan untuk tujuan pendidikan dan non-komersial

Perangkat lunak itu digunakan untuk mengajar kami Perintah Linux ketika saya masih di perguruan tinggi .. benar-benar bagus ..


Ref: WikiPedia

Cygwin adalah antarmuka dan baris perintah seperti Unix untuk Microsoft Windows.

Yang baik tentang hal ini adalah bahwa Cygwin menyediakan integrasi asli aplikasi berbasis Windows, data, dan sumber daya sistem lainnya dengan aplikasi, alat perangkat lunak, dan data lingkungan seperti Unix.

Interix
Interix adalah komponen dari Services for Unix (SFU) rilis 3.0 dan 3.5 (yang terakhir ini didistribusikan secara bebas ).

Rilis terbaru Interix, 5.2 dan 6.0, adalah komponen Windows Server 2003 R2, Windows Vista Enterprise dan edisi Ultimate dan Windows Server 2008 dengan nama SUA (Subsistem untuk Aplikasi Berbasis Unix) Versi 6.1 termasuk dalam Windows 7 ( Enterprise dan Ultimate) dan Windows Server 2008 R2 (semua edisi)


2

Ada cara lain untuk melakukan ini dengan pembaruan Anniversary untuk Windows 10 . Sekarang ada shell Bash (Ubuntu) yang tersedia di Windows.

Untuk menggunakannya Anda harus menginstal fitur karena tidak diaktifkan secara default.

  1. Pergi ke Control Panel-> Programs-> Turn Windows Features On and Off.

  2. Pilih kotak centang untuk Windows Subsystem for Linux (Beta). Ini akan menginstal fitur dan meminta untuk reboot.

Kemudian Anda dapat membuka prompt perintah melalui run -> cmdlalu ketik bashatau jalankan -> bash.exe.

Ini akan memberi Anda bash shell tanpa mesin virtual atau Cygwin atau virtualbox.


1

Meskipun jawaban yang ada di sini adalah benar pada saat itu, Windows 10 tidak sekarang opsional termasuk versi modifikasi dari Ubuntu menjalankan shell bash penuh .

Setelah diinstal, Anda dapat membuka bash prompt (seperti halnya terminal pada OS X / macOS) dan menjalankan skrip seperti biasa, yaitu:

chmod +x myscript.sh
./myscript.sh

Jika Anda ingin menjalankan skrip langsung dari Windows, Anda dapat membuat pintasan di direktori yang sama dan mengatur 'Target' ke sesuatu seperti:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Jika jalur skrip Anda relatif ke lokasi pintasan (seperti contoh di atas) pastikan bidang 'Mulai di' juga kosong.


0

Anda akan membutuhkan CygWin, dan kemudian saya yakin Anda bisa langsung menjalankan:

sh yourscript.sh

0

Jawaban yang benar diberikan dalam komentar oleh Kenaniah, Anda harus menggunakan file batch . Anda perlu memberi nama file kode shell Anda ke * .bat, maka Anda dapat menjalankannya dengan mengkliknya atau cukup mengetik namanya di terminal. Perhatikan bahwa terminal windows tidak bekerja persis seperti terminal unix. Anda akan menemukan banyak bantuan dan tutorial untuk perintah dan sintaksis di seluruh web. Ada juga kemungkinan untuk menggunakan Windows PowerShell , yang tampaknya lebih mirip unix.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.