Windows'ta bir kabuk betiğini nasıl çalıştırabilirim? [çift]


23

Mac kullanıcısıyım ve Windows'ta yeniyim. Windows'ta bir kabuk betiğini nasıl çalıştırabilirim?

Genellikle, metin dosyasını uzantı ile kaydeder .shve Terminal ile çalıştırırdım. Fakat bunu Windows'ta nasıl yapabilirim?


1
Toplu iş dosyaları. en.wikipedia.org/wiki/Batch_file
Kenaniah

2
Windows'ta çalıştırmayı umduğunuz bir komut dosyası örneği verebilir misiniz?

1
Önceden varolan bir .shkabuk betiğini mi arıyorsunuz? Ya da sadece Windows için komut dosyası nasıl bilmek istiyorum?
Keltari

Yanıtlar:


30

Bir komut dosyaları .sh(- Bourne kabuğu elde edilen tüm kabukları veya deneme ya da ksh veya zsh) soneki genellikle Bourne kabuğu komutlarıdır. (MacOS dahil, Unix benzeri sistemlerde, .shsonek gerekli değildir; işletim sistemi #!/bin/shnasıl yürütüleceğini belirlemek için betiğin üstündeki satıra bakar .)

Windows Bourne benzeri bir kabuk sağlamıyor.

Windows altında Unix benzeri bir ortam sağlayan Cygwin'i yükleyebilirsiniz - ancak özellikle "yerel" bir ortamı yoktur. (Editör yorumu: Cygwin, benim gibi Windows kullanması gereken ama Unix'i kullanmayı tercih eden insanlar için harikadır.)

MinGW ve Microsoft tarafından sağlanan Windows Services for UNIX paketi de dahil olmak üzere, Windows altında çalışan diğer Unix benzeri alt sistemler de var .

Veya Unix benzeri kabuk komut dosyaları yazmaya ve çalıştırmaya çalışmak yerine, Windows toplu iş dosyaları yazabilirsiniz. Bunlar genellikle bir .batveya .cmdson eke sahiptir. Windows etkileşimli komut istemi ile aynı komutları ve sözdizimini kullanırlar.

Ayrıca nispeten yeni Windows PowerShell var ; Kendime aşina değilim ama bu konuda iyi şeyler duydum.


3
Powershell önerisini, uzaktaki bir bilgisayarı yeniden başlatmaktan veya uzaktaki bir bilgisayarda hizmetleri kapatmaktan, bilgisayar dizinlerini etkin dizinden almak, alfabetik olarak sıralamak ve her biri için sınama yapmak için her şeyi yapmak için çeşitli komut dosyaları yazan bir powershell kullanıcısı olarak destekleyeceğim. Bazı servisler ve büyük karmaşık dosya hamleleri yapıyoruz. Kelimenin tam anlamıyla TÜM pencerelerde yapabilir.
Paperlantern

1
Cygwin'in betiğin çalışmasına izin vermesine rağmen, altta yatan sistem hakkında bazı varsayımlarda bulunursa (yani, mevcut ikili dosyalar, dosya sistemi düzeni, vb.)
Doğru çalışmayabilir


2

Win'da ortak uzantılar .batveya .cmd. Windows kabuğunda kullanılan komutlar için iyi bir kaynak ss64'tür - CMD ve PowerShell için.

Cygwin bir "zorunluluk" değildir. Bu sadece size Linux tarzını veriyor - Win on BASH kullanın.


2

Peki ya UWIN?

UWIN , David Korn tarafından oluşturulan ve Unix işletim sistemi için yazılmış programların, eğer varsa, az sayıda değişiklik yapılarak çalıştırılmasını ve çalıştırılmasını sağlayan bir bilgisayar yazılımı paketidir. Yazılım geliştirmenin bir kısmı Hindistan Wipro'ya devredildi.

Bu UWIN - Windows için Unix'i kontrol edin

UWIN'in belirgin özellikleri

  1. Hemen hemen tüm komut satırı araçlarına pencerelerdeki Unix'ten erişin. 245 komut satırı araçlarının kesin olması.
  2. Orijinal Unix derleyicisinin 'cc' yanı sıra 'make' gibi birçok araç ve Unix uygulamalarının kaynak kodunda çok az değişiklik yapmak veya hiç değişiklik yapmaksızın Windows makinelerinde çalıştırılmasını ve çalıştırılmasını sağlayan gerekli kütüphaneleri içerir.
  3. Programları derlemek için Visual C ++ veya Mingw gibi diğer derleyicileri kullanma seçeneği. Tam teşekküllü Perl paketi.
  4. Windows üzerinde X uygulamaları geliştirmek isteyenler için X Windows kütüphaneleri. Bu uygulamaları Windows'ta çalıştırmanıza rağmen, UWIN ile birlikte verilmeyen bir X sunucusuna ihtiyacınız var.
  5. UWIN, bazı UWIN sistem parametrelerini yapılandırmak için kullanılabilecek bir kontrol paneli uygulaması ('Başlat-> Ayarlar-> Kontrol Paneli-> UWIN' aracılığıyla erişilir) ile birlikte gelir.

UWIN'in Kullanım Alanları

  • Unix uygulamalarını yerel olarak Windows'ta tam hızda çalıştırın.
  • Windows'taki Unix komut satırı araçlarının tam gücünü kullanın.
  • UWIN ile birlikte gelen korn kabuğu, bir Unix kullanıcısının evinde Windows ortamında hissetmesini sağlar.
  • Windows üzerinde UNIX uygulamaları geliştirin ve çalıştırın.
  • Windows platformunda X uygulamaları geliştirin.

UWIN'in Dezavantajları

  • UWIN, bir X sunucuyla birlikte gelmediği için bir kullanıcı, X uygulamalarını pencerelerde çalıştıramaz. Bu boşluğu doldurabilecek üçüncü taraf ticari X sunucuları olmasına rağmen.
  • UWIN, GPL kapsamında yayınlanmamaktadır, ancak eğitim amaçlı ve ticari olmayan amaçlarla indirmek ve kullanmak ücretsizdir.

Bu yazılım kolejdeyken bize Linux Komutunu öğretmek için kullanıldı .. gerçekten iyi ..


Ref: WikiPedia

Cygwin , Microsoft Windows için Unix benzeri bir ortam ve komut satırı arabirimidir.

Cygwin'in Windows tabanlı uygulamaların, verilerin ve diğer sistem kaynaklarının uygulamalarla, yazılım araçlarıyla ve Unix benzeri ortamdaki verilerle yerel entegrasyonunu sağlaması iyi.

Interix
Interix, Unix Servislerinin (SFU) 3.0 ve 3.5 sürümlerinin bir bileşenidir ( bu sonuncusu serbestçe dağıtılmaktadır ).

Interix'in en son sürümleri 5.2 ve 6.0, Windows Server 2003 R2, Windows Vista Enterprise ve Ultimate sürümlerinin bileşenleri ve SUA (Unix Tabanlı Uygulamalar için Alt Sistem) Sürüm 6.1 adı altında Windows Server 2008'in bileşenleridir. Enterprise ve Ultimate) ve Windows Server 2008 R2 (tüm sürümler)


2

Bunu Windows 10 için Yıldönümü güncellemesiyle yapmanın başka bir yolu var . Artık Windows'ta kullanılabilen bir Bash (Ubuntu) kabuğu var.

Bunu kullanmak için özelliği varsayılan olarak etkin olmadığı için yüklemeniz gerekir.

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

  2. İçin onay kutusunu seçin Windows Subsystem for Linux (Beta). Bu özelliği yükler ve yeniden başlatılmasını ister.

Daha sonra komut istemini run -> komutuyla açıp cmdardından yazın bashveya run -> bash.exe.

Bu size sanal makine, Cygwin veya virtualbox içermeyen bir bash kabuğu verecektir.


1

Burada mevcut cevapları anda doğru olmasına rağmen Windows 10 gelmez artık isteğe dahil tam bir bash kabuğunu çalışan Ubuntu değiştirilmiş bir versiyonunu .

Kurulduktan sonra, bir bash istemi açabilir (tıpkı OS X / macOS'ta bir terminal kullanacağınız gibi) ve komut dosyasını her zamanki gibi çalıştırabilirsiniz, yani:

chmod +x myscript.sh
./myscript.sh

Bir komut dosyasını doğrudan Windows'tan çalıştırmak istiyorsanız, aynı dizinde bir kısayol oluşturabilir ve 'Hedef'i şu şekilde ayarlayabilirsiniz:

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

Komut dosyanızın yolu kısayolun konumuna göre ise (yukarıdaki örnekte olduğu gibi) 'Başlangıç' alanının da boş olduğundan emin olun.


0

CygWin'e ihtiyacınız olacak ve sonra sadece koşabileceğinizi düşünüyorum:

sh yourscript.sh

0

Doğru cevap Kenaniah tarafından yapılan bir yorumda verildi, toplu iş dosyalarını kullanmanız gerekiyor . Shell kod dosyanızı * .bat olarak adlandırmanız gerekir, ardından tıklatarak çalıştırabilir veya adını terminale yazabilirsiniz. Windows terminalinin tam olarak unix terminali gibi çalışmadığına dikkat edin. Tüm web'deki komutlar ve sözdizimi için birçok yardım ve öğretici bulacaksınız. Ayrıca, daha unix benzeri görünen Windows PowerShell'i kullanma olasılığı da vardır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.