Per funzionare in modo nativo, probabilmente dovrai usare Cygwin (di cui non posso vivere senza quando uso Windows). Quindi subito, +1 per Cygwin. Qualsiasi altra cosa sarebbe incivile.
TUTTAVIA, detto questo, ho recentemente iniziato a usare una combinazione di utilità per PORTARE facilmente gli script Bash su Windows in modo che i miei colleghi anti-Linux possano eseguire facilmente attività complesse che sono gestite meglio dalle utilità GNU.
Di solito posso portare uno script Bash su Batch in brevissimo tempo aprendo lo script originale in un riquadro e scrivendo un file Batch nell'altro riquadro. Gli strumenti che utilizzo sono i seguenti:
Preferisco UnxUtils a GnuWin32 per il fatto che [qualcuno per favore mi corregga se sbaglio] normalmente devono essere installate le utilità di GnuWin, mentre UnxUtils sono binari indipendenti che funzionano appena fuori dalla scatola.
Tuttavia, i CoreUtils non includono alcune utilità * NIX familiari come cURL, disponibile anche per Windows (curl.haxx.se/download.html).
Creo una cartella per i progetti e sempre SET PATH =. nel file .bat in modo che non venga fatto riferimento ad altri comandi diversi dai comandi di shell CMD di base (così come i particolari UnxUtils richiesti nella cartella del progetto affinché lo script Batch funzioni come previsto).
Quindi copio i file CoreUtils .exe necessari nella cartella del progetto e li faccio riferimento nel file .bat come ". \ Curl.exe -s google.com", ecc.
Il programma Bat2Exe è dove avviene la magia. Una volta che il file Batch è completo ed è stato testato correttamente, avvia Bat2Exe.exe e specifica il percorso della cartella del progetto. Bat2Exe creerà quindi un file binario di Windows contenente tutti i file in quella specifica cartella e utilizzerà il primo .bat che incontra per utilizzare come eseguibile principale. Puoi anche includere un file .ico da utilizzare come icona per il file .exe finale che viene generato.
Ho provato alcuni di questi tipi di programmi e molti dei file binari generati vengono contrassegnati come malware, ma la versione Bat2Exe a cui ho fatto riferimento funziona perfettamente ei file .exe generati vengono scansionati completamente puliti.
L'eseguibile risultante può essere eseguito in modo interattivo facendo doppio clic o eseguito dalla riga di comando con parametri, ecc., Proprio come un normale file Batch, tranne per il fatto che sarai in grado di utilizzare le funzionalità di molti degli strumenti che utilizzerai normalmente in Bash.
Mi rendo conto che sta diventando piuttosto lungo, ma se posso divagare un po ', ho anche scritto uno script Batch che chiamo PortaBashy che i miei colleghi possono avviare da una condivisione di rete che contiene un'installazione Cygwin portatile. Quindi imposta la variabile% PATH% sul normale formato * NIX (/ usr / bin: / usr / sbin: / bin: / sbin), ecc. E può essere avviato nella shell Bash stessa o avviare il più potente e grazioso emulatore di terminale MinTTY.
Ci sono sempre molti modi per realizzare ciò che stai cercando di fare; è solo questione di combinare gli strumenti giusti per il lavoro e molte volte si riduce alle preferenze personali.