web-dev-qa-db-fra.com

Équivalent de .bat dans mac os

J'utilise actuellement un fichier .bat qui est utilisé pour appeler un fichier Java. Si je souhaitais utiliser la même fonctionnalité sous Mac OS, quels changements de format apporterais-je? (sauf si l'équivalent .bat sous Mac OS est le format .sh?)

Java -cp  ".;.\supportlibraries\Framework_Core.jar;.\supportlibraries\Framework_DataTable.jar;.\supportlibraries\Framework_Reporting.jar;.\supportlibraries\Framework_Utilities.jar;.\supportlibraries\poi-3.8-20120326.jar;D:\downloads\Selenium 2.0\Selenium-server-standalone-2.19.0.jar" allocator.testTrack

Toute aide serait appréciée.

27
Ganeshja

Peut-être que vous pouvez trouver une réponse ici? Équivalent de .sh et .bat double-cliquable sur Mac?

Généralement, vous pouvez créer un script bash pour Mac OS, dans lequel vous placez des commandes similaires à celles du fichier de commandes. Pour votre cas, créez un fichier bash et mettez la même commande, mais modifiez les barres obliques inverses par des normales.

Votre fichier ressemblera à quelque chose comme:

#! /bin/bash
Java -cp  ".;./supportlibraries/Framework_Core.jar;./supportlibraries/Framework_DataTable.jar;./supportlibraries/Framework_Reporting.jar;./supportlibraries/Framework_Utilities.jar;./supportlibraries/poi-3.8-20120326.jar;PATH_TO_YOUR_Selenium_SERVER_FOLDER/Selenium-server-standalone-2.19.0.jar" allocator.testTrack

Changer les dossiers dans le chemin ci-dessus en un dossier pertinent.

Ensuite, rendez ce script exécutable: ouvrez le terminal et accédez au dossier avec votre script. Puis changez les droits en lecture-écriture-exécution pour cette commande d'exécution de fichier:

chmod 755 scriptname.sh

Ensuite, vous pouvez le lancer comme n'importe quel autre script ordinaire: ./scriptname.sh

ou vous pouvez l'exécuter en passant fichier à bash:

bash scriptname.sh
25
imslavko

La convention commune serait de le mettre dans un fichier .sh qui ressemble à ceci -

#!/bin/bash
Java -cp  ".;./supportlibraries/Framework_Core.jar;... etc

Notez que '\' devient '/'.

Vous pouvez exécuter comme 

sh myfile.sh

ou définir le bit x sur le fichier

chmod +x myfile.sh

et ensuite il suffit d'appeler

myfile.sh
11
Brett Freer

J'ai trouvé des informations utiles dans une page de forum, citée ci-dessous.
À partir de là, principalement les phrases en caractères gras, ma réponse est:

  • Créez une version de script bash (shell) de votre fichier .bat (comme d’autres
    répond, avec \ remplacé par / dans les chemins de fichiers). Par exemple:

    # File "example.command":
    #!/bin/bash
    Java -cp  ".;./supportlibraries/Framework_Core.jar; ...etc.
    
  • Renommez-le ensuite avec l'extension de fichier Mac OS .command.
    Cela devrait rendre le script exécuté en utilisant l'application Terminal.

  • Si l'utilisateur de l'application utilise une version de script bash du fichier sous Linux
    ou exécutez-le à partir de la ligne de commande, ils doivent ajouter des droits exécutables
    (bits de mode de changement) à l'aide de cette commande, dans le dossier contenant le fichier:

    chmod +rx [filename].sh
    #or:# chmod +rx [filename].command
    

La page du forum question:

Bonjour, [...] Je me demande s'il existe des règles "simples" pour écrire un équivalent
du fichier bat Windows (DOS). Je voudrais juste cliquer sur un fichier et le laisser fonctionner.

Info de quelques réponses après la question:

Écrivez un script Shell et attribuez-lui l'extension ".command" . Par exemple:

#!/bin/bash 
printf "Hello World\n" 

_ {- 23 mars 2010, Tony T1.

Le fichier DOS .BAT était une tentative d’apporter à MS-DOS quelque chose qui ressemblait à l’idée du script UNIX.
En général, UNIX vous permet de créer un fichier texte contenant des commandes et de l'exécuter en marquant simplement
le fichier texte en tant qu'exécutable (plutôt que de lui donner un suffixe spécifique). Voici comment OS X le fait.

Cependant, OS X ajoute la fonction si vous attribuez au fichier le suffixe .command, Finder.
exécutera Terminal.app pour l'exécuter (similaire au fonctionnement des fichiers BAT sous Windows). 

Cependant, contrairement à MS-DOS, UNIX (et OS X) vous permet de spécifier quel interprète est utilisé.
pour le script. Un interprète est un programme qui lit un texte dans un fichier et fait quelque chose
avec ça. [...] Sous UNIX, vous pouvez spécifier quel interpréteur utiliser en faisant la première ligne de la
fichier texte un qui commence par "#!" suivi du chemin de l'interprète. Par exemple [...]

#!/bin/sh
echo Hello World

- - 23 mars 2010, J D McIninch.

Aussi, informations d'une réponse acceptée pour équivalent de .sh et .bat double-cliquable sur Mac?} _ :

Sur mac, il existe une extension spécifique pour l'exécution de Shell
scripts en double cliquant dessus: il s'agit de .command.

0
Edward