Forum Clubic

[Bash] sur MacOS - Fichiers de commandes sur Mac

Salut tout le monde,

Je n’ai pas de Mac mais il pourrait m’arriver de devoir en utiliser.

Sous Windows il est possible de faire un fichier *.cmd qui contient des lignes de commandes exécutées en mode console l’une après l’autre. Sous Linux il y a les fichiers *.x qui marchent aussi (fichiers Bash comme on les appelle).

Sur Macintosh, quelle extension faut il donner à un fichier pour obtenir le même effet qu’un fichier *.cmd Windows ou *.x Linux ? J’entends par là que j’aimerais pouvoir écrire dedans (mode texte) une commande du genre

java -jar MonProgramme.jar

et que l’utilisateur n’ait qu’à double-cliquer sur le fichier pour exécuter la commande dans le répertoire courant.

Merci d’avance pour vos réponses

Il ne faut pas oublier que MAC OSX est un dérivé “enrichi” de BSD . Sous mac aussi en console tu travailles en bash il n’y a aucune différence pour cela entre linux et macosx.

D’accord que MacOSX est basé sur Linux, mais est-il semblable au point que n’importe quel exécutable Linux (pour peu qu’il n’utilise pas d’API spécifiques) peut tourner sur MacOSX sans être recompilé ?

Je n’ai pas dit que macosx était bassé sur linux j’ai dit que macosx était un dérivé “enrichi” de BSD c’est totalement différent.

Un programme compilé sous linux ne tournera pas sur macosx la structure du système et les librairies étant différentes. Pour le faire tourner sous macosx il nécéssitera une recompilation ce qui si on respecte les standarts du c et c++ n’est pas trop compliqué à obtenir.

C’est un fichier .term
Tu ouvres une fenêtre du terminal, et tu la sauves en indiquant quelles commandes elle contient.
Ensuite, un double clic sur le fichier, et hop le Terminal se lance.

Ok merci ! Je vais essayer…

peut importe l’extension du fichier, un “fichier bash” porte generalement l’extention .sh
en fait c’est un simple fichier texte rendu executable avec “#!/bin/sh” sur sa première ligne et les lignes de shell sur les suivantes :slight_smile:

(vaut mieux utilise sh, c’est le langage standard shell supporté par tous les shells (bash, ksh, zsh, …))