2012-01-02 05:07:33 +0000 2012-01-02 05:07:33 +0000
22
22

Come posso eseguire uno script di shell in Windows?

Sono un utente Mac e sono nuovo di Windows. Come posso eseguire uno script di shell in Windows?

In generale, salverei il file di testo con l'estensione .sh ed eseguirei il file di testo tramite Terminale. Ma come potrei farlo in Windows?

Risposte (8)

30
30
30
2012-01-02 05:18:47 +0000

Gli script con suffisso .sh sono generalmente script di conchiglie di Bourne (o bash, o ksh, o zsh – tutte le conchiglie derivate dalla conchiglia di Bourne). (Si noti che su sistemi Unix-like, incluso MacOS, il suffisso .sh non è necessario; il sistema operativo guarda la linea #!/bin/sh nella parte superiore dello script per determinare come eseguirlo.)

Windows non fornisce una shell simile a Bourne.

È possibile installare Cygwin , che fornisce un ambiente Unix-like sotto Windows – ma non ha un ambiente particolarmente “nativo”. (Commento editoriale: Cygwin è ottimo per chi, come me, ha bisogno di usare Windows ma preferirebbe davvero usare Unix.)

Ci sono altri sottosistemi Unix-like che girano sotto Windows, tra cui MinGW e il pacchetto Windows Services for UNIX fornito da Microsoft.

Oppure, invece di provare a scrivere ed eseguire script di shell Unix-like, si possono scrivere file batch di Windows. Questi hanno generalmente un suffisso .bat o .cmd. Usano gli stessi comandi e la stessa sintassi del prompt dei comandi interattivi di Windows.

C'è anche il relativamente nuovo Windows PowerShell ; io stesso non lo conosco, ma ne ho sentito parlare bene.

7
7
7
2012-01-02 05:09:41 +0000

È possibile utilizzare Cygwin . Esso fornisce linux come ambiente nelle finestre.

2
2
2
2016-09-19 19:31:35 +0000

C'è un altro modo per farlo con l'aggiornamento Anniversary update for Windows 10 . C'è ora una shell Bash (Ubuntu) disponibile in Windows.

Per poterla utilizzare è necessario installare la funzione in quanto non è abilitata di default.

    1. Andare a Control Panel -> Programs -> Turn Windows Features On and Off.
  1. Andare a Windows Subsystem for Linux (Beta) -> cmd. 3. Selezionare la casella di controllo per bash. Questo installerà la funzione e richiederà un riavvio.

Poi si può aprire un prompt di comandi tramite run -> bash.exe quindi digitare &007 o eseguire -> &007.

Questo vi darà una shell bash senza macchina virtuale o Cygwin o virtualbox.

2
2
2
2012-01-02 05:16:17 +0000

Su Win le estensioni comuni sono .bat o .cmd. Una buona fonte per i comandi usati nella shell di Windows è ss64 - per CMD e PowerShell. Cygwin non è un “must”. Ti sta solo dando lo stile di Linux - usa BASH su Win.

2
2
2
2012-01-02 12:14:01 +0000

Che dire di UWIN?? UWIN è un pacchetto software per computer creato da David Korn che permette di costruire programmi scritti per il sistema operativo Unix ed eseguirli su Microsoft Windows con poche, se non nessuna, modifica. Parte dello sviluppo del software è stato subappaltato a Wipro, India.

Controlla questo UWIN - Unix per Windows

Salient features di UWIN

  1. Accesso a quasi tutti gli strumenti a riga di comando di Unix su Windows. 245 strumenti a riga di comando per l'esattezza.
  2. Viene fornito in bundle con il compilatore originale Unix ‘cc’, nonché una pletora di strumenti come ‘make’ e le librerie necessarie che permettono alle applicazioni Unix di essere costruite ed eseguite su macchine Windows con pochissime o nessuna modifica del codice sorgente.
  3. Possibilità di usare altri compilatori come Visual C++ o Mingw per compilare programmi. 4. Pacchetto Perl completo.
  4. 5. Librerie X windows per coloro che aspirano a sviluppare applicazioni X su windows. Anche se per eseguire tali applicazioni in Windows, è necessario un server X che non sia in bundle con UWIN.
  5. UWIN viene fornito con un'applet del pannello di controllo (accessibile tramite ‘Start->Impostazioni->Pannello di controllo->UWIN’) che può essere utilizzato per configurare alcuni dei parametri del sistema UWIN.

Usi di UWIN

  • Eseguire le applicazioni Unix in modo nativo in Windows a piena velocità.
  • Utilizzare tutta la potenza degli strumenti a riga di comando Unix su Windows.
  • La shell korn in bundle con UWIN fa sentire un utente Unix a suo agio in ambiente Windows.
  • Sviluppare ed eseguire applicazioni UNIX su Windows.
  • Sviluppare applicazioni X sulla piattaforma Windows.

Svantaggi di UWIN

  • UWIN non viene fornito in bundle con un server X, quindi un utente non sarà in grado di eseguire applicazioni X su Windows. Anche se ci sono server X commerciali di terze parti disponibili che possono colmare questa lacuna.
  • UWIN non è rilasciato sotto la GPL ma è gratuito da scaricare e utilizzare per scopi educativi e non commerciali

*Quel software è stato usato per insegnarci Linux Command quando ero al college… davvero buono… *


Ref: WikiPedia Cygwin è un ambiente simile a Unix e un'interfaccia a riga di comando per Microsoft Windows.

Il bello è che Cygwin fornisce l'integrazione nativa di applicazioni basate su Windows, dati e altre risorse di sistema con applicazioni, strumenti software e dati dell'ambiente simile a Unix.

  • Interix ** Interix è un componente delle release 3.0 e 3.5 dei Services for Unix (SFU) (quest'ultima è distribuita liberamente).

Le più recenti release di Interix, 5.2 e 6. 0, sono componenti delle edizioni Windows Server 2003 R2, Windows Vista Enterprise e Ultimate e Windows Server 2008 sotto il nome SUA (Subsystem for Unix-based Applications) La versione 6.1 è inclusa in Windows 7 (Enterprise e Ultimate) e Windows Server 2008 R2 (tutte le edizioni)

1
1
1
2016-08-25 07:59:50 +0000

Anche se le risposte esistenti qui erano corrette all'epoca, Windows 10 faes ora include opzionalmente una versione modificata di Ubuntu che esegue una shell bash completa .

Una volta installato, si può aprire un prompt bash (proprio come si farebbe con un terminale in OS X/macOS) ed eseguire lo script come al solito, cioè:

chmod +x myscript.sh
./myscript.sh
``` ```
C:\Windows\System32\bash.exe -c "./myscript.sh"

Se si vuole eseguire uno script direttamente da Windows si può creare una scorciatoia nella stessa directory e impostare il ‘Target’ su qualcosa di simile:

&001 &001

Se il percorso del vostro script è relativo alla posizione della scorciatoia (come l'esempio precedente) assicuratevi che anche il campo ‘Start in’ sia vuoto.

0
0
0
2012-01-02 05:09:52 +0000

Avrete bisogno di CygWin, e poi credo che sarete in grado di eseguire:

sh yourscript.sh
0
0
0
2012-01-02 11:20:04 +0000

La risposta giusta è stata data in un commento di Kenaniah, bisogna usare batch files . Dovete dare un nome al vostro file di codice shell a *.bat, poi potete eseguirlo cliccandoci sopra o semplicemente digitarne il nome nel terminale. Notate che il terminale di windows non funziona esattamente come il terminale unix. Troverete molto aiuto e tutorial per i comandi e la sintassi in tutto il web. C'è anche la possibilità di usare il Windows PowerShell , che sembra essere più simile a unix.