J'ai obtenu ces deux lignes que je veux exécuter à partir d'un fichier de script (sur Yosemite 10.10.3). Cela fonctionne quand on court du terminal
CX_LICENSE=LS
open -n /Applications/Inspire\ Designer\ 10.0\ GA/Inspire\ Designer.app/
J'ai sauvegardé ces deux lignes dans un fichier et l'ai nommé ID d'exécution. -rwxr-xr-x @ 1 employé d'administration 89 20 juil 17:34 runID
Si je double clique sur runID, je reçois une nouvelle fenêtre avec
Last login: Mon Jul 20 17:22:27 on ttys002
dsa-mac1:~ Administrator$ /Users/Administrator/Desktop/runID ; exit;
: command not foundr/Desktop/runID: line 1:
/Users/Administrator/Desktop/runID: line 1: -n: command not found
logout
[Process completed]
aucune idée de comment faire fonctionner runID?
macos
terminal
command-line
Radek
la source
la source
nano
comme éditeur, écrire le script ici et réessayer?-a
option telle queopen -n -a "Inspire Designer.app"
.Réponses:
Vous manquez la ligne initiale de votre fichier de script - le "shebang".
Mettez ce qui suit dans votre fichier de script:
Cela devrait fonctionner - le fichier que vous aviez auparavant ne contenait pas assez d'informations pour indiquer au système d'exploitation comment exécuter votre script. Vous souhaitez exécuter un ensemble de commandes shell, vous devez donc indiquer au système d'exploitation qu'il s'agit d'un script shell. Pour ce faire, vous devez l'inclure en
#!/bin/sh
tant que première ligne du script.Voir cette réponse sur le dépassement de capacité pour plus d'informations.
Mise à jour
Juste pour confirmer, je viens de tester ce script et cela fonctionne bien:
Comme correctement indiqué par @ fd0, vous devez nommer le script
<script>.tool
ou le<script>.command
faire exécuter à partir du Finder (où<script>
est un nom explicite pour le script).la source
.command
ou.tool
. Dans les deux cas, les fichiers texte n'ont pas besoin d'un shebang. Le script s'exécute dans une instance du shell de l'utilisateur..command
/.tool
conseil). Aussi, j'ai négligé de tester en utilisant Finder :(