17 votes

Comment exécuter des scripts en ligne de commande ?

Dans Windows, je peux créer .bat fichiers. Je double-clique dessus et toutes les lignes sont interprétées comme si je les avais saisies dans la console.

Dans OS X, quel fichier ou programme dois-je utiliser ? Si je veux écrire un fichier avec ;

 echo hello world

Je veux double-cliquer sur ce fichier et le faire exécuter dans une console. Comment faire ?

24voto

Christopher Scott Points 665

Les bases du terminal dans OS X sont les mêmes que celles utilisées dans Linux. Ce que vous recherchez spécifiquement est communément appelé "Shell Scripting".

Le shell par défaut lorsque vous ouvrez Terminal.app (situé dans /Applications/Utilties ) est le shell bash.

OS X dispose d'un gestionnaire d'interpréteur de commandes intégré, accessible par le Finder et d'autres applications via la fonction .command mais, malheureusement, pas via l'extension .sh extension. Cependant, configurer le script pour qu'il s'exécute via le Finder est encore plus compliqué.

  1. Créer un simple shell script, comme votre exemple j'ai fait une application Hello World :

    !/bin/bash

    echo "Hello World"

  2. Enregistrez ce fichier sous HelloWorld.command .

  3. Donnez à ce fichier la permission d'être exécuté. chmod u+x HelloWorld.command devrait le faire.

  4. Ouvrez le répertoire où vous avez enregistré ce fichier dans le Finder. Ensuite, double-cliquez sur le fichier HelloWorld.command fichier.

Cela ouvrira un terminal et exécutera le script, la sortie sur mon ordinateur est la suivante :

$ /Users/jason/Applications/HelloWorld.command ; exit ;
Bonjour le monde
déconnexion

[Processus terminé]

L'autre façon d'exécuter ce fichier est, tout en étant dans le Terminal vous-même, d'émettre simplement ./HelloWorld.command en supposant que vous êtes dans le même répertoire que le fichier.

Ce faisant, vous obtiendrez un résultat beaucoup plus simple :

jason-mac Applications $ ./HelloWorld.command
Bonjour le monde
jason-mac Applications

Vous venez de créer et d'exécuter un shell script dans OS X !

4voto

Phil M Points 681

L'équivalent de la console ou de l'invite de commande dans Windows est l'application Terminal située dans /Applications/Utilitaires/.

L'équivalent de DOS (ou quel que soit le nom qu'on lui donne de nos jours) est "bash".

L'équivalent d'un fichier batch (.bat) dans Windows est un script (.sh)

Il suffit de faire une recherche Google sur "bash" "référence" et vous comprendrez le reste. Je vous recommande également d'acheter le Bash Cookbook (O'Reilly).

Plus précisément, ce serait ce que vous taperiez dans une fenêtre de terminal pour obtenir votre "hello world" script :

Pour créer le fichier :

    echo "echo hello world" > file.sh

Pour modifier les autorisations afin de rendre le fichier exécutable :

    chmod 755 file.sh

Pour exécuter le script :

    ./file.sh

Si vous voulez pouvoir le double-cliquer à partir du Finder, faites un clic droit (ou un contrôle-clic) sur le fichier et sélectionnez Obtenir des informations, puis sous Ouvrir avec, sélectionnez l'application Terminal. Vous pouvez également utiliser l'extension .command au lieu de l'extension .sh.

2voto

Christian Correa Points 2980

Vous devriez probablement jeter un coup d'oeil à AppleScript. Ce site livre de Sal Soghoian est considéré par beaucoup comme le livre de référence sur AppleScript.

Une autre façon agréable pour les utilisateurs d'automatiser les applications Mac est d'utiliser Automator . Vous pouvez également l'essayer. J'espère que cela vous aidera.

Mise à jour

Il semble que vous cherchiez quelque chose comme un script shell Unix. Ce site deux tutoriels sont décents et semblent couvrir l'essentiel.

0voto

Swizzlr Points 362

Shell scripts. Je ne pense pas que Ask Different soit l'endroit approprié pour en discuter en profondeur mais il y a un guide très détaillé ici : http://tldp.org/LDP/abs/html/index.html

Mac OS X est certifié UNIX à partir de la version 10.5 (n'est-ce pas ?). Cette sagesse s'applique donc également à Linux et aux autres systèmes d'exploitation de type UNIX.

(de manière moins complexe, l'Automator de Mac OS X est sacrément puissant, tout comme l'AppleScript Editor, qui permettent tous deux d'exécuter des scripts et d'autres commandes avec des programmes, et de les emballer dans un paquet .app pratique pour le Launchpad ou le partage avec des amis)

-1voto

John M Points 159

J'ai fait une vidéo il y a quelques jours pour expliquer cela. J'espère que cela vous aidera : http://www.youtube.com/watch?v=Q2jxpJAlsyg

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X