Je suis un utilisateur Mac et nouveau sur Windows. Comment puis-je exécuter un script shell sous Windows?
En règle générale, je voudrais enregistrer le fichier texte avec l'extension .sh
et l'exécuter via Terminal. Mais comment pourrais-je faire cela sous Windows?
windows
shell-script
Terminator
la source
la source
.sh
script shell préexistant ? Ou voulez-vous simplement savoir comment créer un script pour Windows?Réponses:
Les scripts avec un
.sh
suffixe sont généralement des scripts shell Bourne (ou bash, ou ksh, ou zsh - tous les shells dérivés du shell Bourne). (Notez que sur les systèmes de type Unix, y compris MacOS, le.sh
suffixe n'est pas nécessaire; le système d'exploitation regarde la#!/bin/sh
ligne en haut du script pour déterminer comment l'exécuter.)Windows ne fournit pas de shell de type Bourne.
Vous pouvez installer Cygwin , qui fournit un environnement de type Unix sous Windows - mais il n'a pas d'environnement particulièrement "natif". (Commentaire: Cygwin est idéal pour les gens comme moi qui ont besoin d'utiliser Windows mais qui préfèrent vraiment utiliser Unix.)
Il existe d'autres sous-systèmes de type Unix qui s'exécutent sous Windows, notamment MinGW et le package Windows Services for UNIX fourni par Microsoft.
Ou, au lieu d'essayer d'écrire et d'exécuter des scripts shell de type Unix, vous pouvez écrire des fichiers batch Windows. Ceux-ci ont généralement un suffixe
.bat
ou.cmd
. Ils utilisent les mêmes commandes et syntaxe que l'invite de commandes interactive Windows.Il y a aussi le relativement nouveau Windows PowerShell ; Je ne le connais pas moi-même, mais j'en ai entendu de bonnes choses.
la source
Vous pouvez utiliser Cygwin . Il fournit un environnement de type Linux dans Windows.
la source
Sur Win, les extensions courantes sont
.bat
ou.cmd
. Une bonne source pour les commandes utilisées dans le shell Windows est ss64 - pour CMD et PowerShell.Cygwin n'est pas un "must". Il vous donne simplement le style Linux - utilisez BASH sur Win.
la source
Et UWIN ??
UWIN est un progiciel informatique créé par David Korn qui permet de créer et d'exécuter des programmes écrits pour le système d'exploitation Unix sur Microsoft Windows avec peu ou pas de modifications. Une partie du développement logiciel a été sous-traitée à Wipro, en Inde.
Vérifiez cet UWIN - Unix pour Windows
Principales caractéristiques de UWIN
Utilisations d'UWIN
Inconvénients d'UWIN
Ce logiciel a été utilisé pour nous enseigner la commande Linux quand j'étais au collège .. vraiment bon ..
Réf: WikiPedia
Cygwin est un environnement de type Unix et une interface de ligne de commande pour Microsoft Windows.
Interix
Interix est un composant des Services pour Unix (SFU) versions 3.0 et 3.5 ( cette dernière est distribuée gratuitement ).
la source
Il existe une autre façon de le faire avec la mise à jour anniversaire pour Windows 10 . Il existe désormais un shell Bash (Ubuntu) disponible dans Windows.
Pour l'utiliser, vous devez installer la fonctionnalité car elle n'est pas activée par défaut.
Allez dans
Control Panel
->Programs
->Turn Windows Features On and Off
.Cochez la case pour
Windows Subsystem for Linux (Beta)
. Cela installera la fonctionnalité et demandera un redémarrage.Ensuite, vous pouvez ouvrir une invite de commande via exécuter ->
cmd
puis tapezbash
ou exécutez ->bash.exe
.Cela vous donnera un shell bash sans machine virtuelle ni Cygwin ou virtualbox.
la source
Bien que les réponses existantes ici étaient correctes au moment, Windows 10 ne comprend maintenant en option une version modifiée d'Ubuntu lancer un shell bash complet .
Une fois installé, vous pouvez ouvrir une invite bash (un peu comme vous le feriez pour un terminal sous OS X / macOS) et exécuter le script comme d'habitude, c'est-à-dire:
Si vous souhaitez exécuter un script directement à partir de Windows, vous pouvez créer un raccourci dans le même répertoire et définir la «cible» sur quelque chose comme:
Si le chemin de votre script est relatif à l'emplacement du raccourci (comme dans l'exemple ci-dessus), assurez-vous que le champ «Démarrer dans» est également vide.
la source
Vous aurez besoin de CygWin, puis je pense que vous pourrez simplement exécuter:
la source
La bonne réponse a été donnée dans un commentaire de Kenaniah, vous devez utiliser des fichiers batch . Vous devez nommer votre fichier de code shell à * .bat, puis vous pouvez l'exécuter en cliquant dessus ou simplement taper son nom dans le terminal. Notez que le terminal Windows ne fonctionne pas exactement comme le terminal Unix. Vous trouverez beaucoup d'aide et de tutoriels pour les commandes et la syntaxe partout sur le Web. Il existe également une possibilité d'utiliser Windows PowerShell , qui semble être plus semblable à Unix.
la source