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

Comment puis-je exécuter un script shell sous Windows ?

Je suis un utilisateur Mac et je suis nouveau sous Windows. Comment puis-je exécuter un script shell sous Windows ?

En général, j'enregistre le fichier texte avec l'extension .sh et je l'exécute via Terminal. Mais comment puis-je faire cela sous Windows ?

Réponses (8)

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

Les scripts avec un suffixe .sh sont généralement des scripts shells 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 suffixe .sh n'est pas nécessaire ; le système d'exploitation regarde la ligne #!/bin/sh 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 éditorial : Cygwin est parfait pour les personnes 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 fonctionnent sous Windows, notamment MinGW et le paquet 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 la même syntaxe que l'invite de commande interactive de Windows.

Il y a aussi le relativement nouveau Windows PowerShell ; je ne le connais pas moi-même, mais j'ai entendu de bonnes choses à son sujet.

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

Vous pouvez utiliser Cygwin . Il fournit un environnement de type linux dans les fenêtres.

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

Il existe une autre façon de le faire avec la Mise à jour anniversaire pour Windows 10 . Il y a maintenant un shell Bash (Ubuntu) disponible sous Windows.

Pour l'utiliser, vous devez installer la fonction puisqu'elle n'est pas activée par défaut.

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

  2. Cochez la case pour Windows Subsystem for Linux (Beta). Cela installera la fonctionnalité et l'invite de redémarrage.

Ensuite, vous pouvez ouvrir une invite de commande via run -> cmd puis taper bash ou run -> bash.exe.

Cela vous donnera un shell bash sans machine virtuelle ou Cygwin ou virtualbox.

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

Sur Win, les extensions communes 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 ne fait que vous donner le style Linux - utilisez BASH sur Win.

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

Et UWIN?? UWIN est un progiciel informatique créé par David Korn qui permet de construire 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 du logiciel a été sous-traitée à Wipro, en Inde.

Consultez cette page UWIN - Unix for Windows

Caractéristiques principales de UWIN

  1. Accès à presque tous les outils en ligne de commande d'Unix sur Windows. 245 outils en ligne de commande pour être exact.
  2. Livré avec le compilateur Unix original “cc” ainsi qu'une pléthore d'outils comme “make” et les bibliothèques nécessaires qui permettent de construire et d'exécuter des applications Unix sur des machines Windows avec très peu ou pas de changements dans le code source
  3. Possibilité d'utiliser d'autres compilateurs comme Visual C++ ou Mingw pour compiler des programmes. Paquet Perl complet.
  4. Bibliothèques X windows pour ceux qui aspirent à développer des applications X sur Windows. Cependant, pour exécuter ces applications sous Windows, vous avez besoin d'un serveur X qui n'est pas fourni avec UWIN.
  5. UWIN est fourni avec un applet de panneau de contrôle (accessible via “Démarrer->Réglages->Panneau de contrôle->UWIN”) qui peut être utilisé pour configurer certains des paramètres du système UWIN.

Utilisations de UWIN

  • Exécutez des applications Unix nativement sous Windows en pleine vitesse.
  • Utiliser la pleine puissance des outils de ligne de commande Unix sous Windows.
  • Le shell korn fourni avec UWIN permet à un utilisateur Unix de se sentir comme chez lui dans un environnement Windows.
  • Développer et exécuter des applications UNIX sous Windows.
  • Développer des applications X sur la plate-forme Windows.

Inconvénients de UWIN

  • UWIN n'est pas fourni avec un serveur X, donc un utilisateur ne pourra pas exécuter des applications X sous Windows. Bien qu'il existe des serveurs X commerciaux tiers disponibles qui peuvent combler cette lacune.
  • UWIN n'est pas publié sous licence GPL mais est gratuit à télécharger et à utiliser à des fins éducatives et non commerciales

*Ce logiciel a été utilisé pour nous enseigner Linux Command quand j'étais à l'université… vraiment bon… *


Ref : WikiPedia Cygwin est un environnement de type Unix et une interface en ligne de commande pour Microsoft Windows.

Ce qui est bien, c'est que Cygwin fournit une intégration native des applications Windows, des données et d'autres ressources système avec les applications, les outils logiciels et les données de l'environnement de type Unix.

  • Interix ** Interix est un composant des Services pour Unix (SFU) version 3.0 et 3.5 (cette dernière est distribuée gratuitement).

Les versions les plus récentes d'Interix, 5.2 et 6. 0, sont des composants des éditions Windows Server 2003 R2, Windows Vista Enterprise et Ultimate et Windows Server 2008 sous le nom SUA (Subsystem for Unix-based Applications) La version 6.1 est incluse dans Windows 7 (Enterprise et Ultimate) et Windows Server 2008 R2 (toutes les éditions)

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

Bien que les réponses existantes ici étaient correctes à l'époque, Windows 10 doit inclut maintenant optionnellement une version modifiée d'Ubuntu exécutant un shell bash complet . Une fois installé, vous pouvez ouvrir une invite bash (un peu comme un terminal sous OS X/macOS) et exécuter le script comme d'habitude, c'est-à-dire :

chmod +x myscript.sh
./myscript.sh

Si vous souhaitez exécuter un script directement depuis Windows, vous pouvez créer un raccourci dans le même répertoire et définir la “cible” comme suit 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.

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

Vous aurez besoin de CygWin, et ensuite je crois que vous pourrez simplement courir :

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

La bonne réponse a été donnée dans un commentaire de Kenaniah, vous devez utiliser 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 sur le web. Il est également possible d'utiliser le Windows PowerShell , qui semble être plus proche d'un terminal unix.