come eseguire open -an nome dell'applicazione dalla riga di comando?

0

Ho ottenuto queste due righe che voglio eseguire da un file di script (su Yosemite 10.10.3). Funziona quando si esegue dal terminale

CX_LICENSE=LS
open -n /Applications/Inspire\ Designer\ 10.0\ GA/Inspire\ Designer.app/

Ho salvato queste due righe in un file e l'ho chiamato ID di esecuzione. -rwxr-xr-x @ 1 Personale amministrativo 89 20 lug 17:34 runID

Se faccio doppio clic su runID, viene visualizzata una nuova finestra con

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]

hai qualche idea su come far funzionare il runID?

    
posta Radek 20.07.2015 - 07:37
fonte

1 risposta

2

Ti manca la riga iniziale del tuo file di script: "shebang".

Inserisci quanto segue nel file di script:

#!/bin/sh
CX_LICENSE=LS
open -n /Applications/Inspire\ Designer\ 10.0\ GA/Inspire\ Designer.app/

Questo dovrebbe funzionare - il file che avevi prima non aveva abbastanza informazioni da dire al sistema operativo come per eseguire il tuo script. Vuoi eseguire un set di comandi shell, quindi devi dire al sistema operativo che si tratta di uno script di shell, che viene fatto includendo #!/bin/sh come prima riga dello script.

Vedi questa risposta su Stack Overflow per ulteriori informazioni.

Aggiorna

Solo per confermare, ho appena testato questo script e funziona perfettamente:

#!/bin/sh
open -n /Custom\ Applications/MacVim.app

Come indicato correttamente da @ fd0, dovresti nominare lo script <script>.tool o <script>.command perché venga eseguito dal Finder (dove <script> è un nome significativo per lo script).

    
risposta data 20.07.2015 - 09:48
fonte

Leggi altre domande sui tag