Come rendere un'applicazione eseguibile da riga di comando?

2

Ho un eseguibile da riga di comando (in particolare JMeter ), che apre un'applicazione GUI quando viene lanciato dal terminale. Tuttavia, mi piacerebbe creare un collegamento che lo avvolgesse per diventare un'applicazione Mac appropriata (inclusa nella directory /Applications e tutto il resto). Come faccio?

    
posta amphibient 20.08.2013 - 00:02
fonte

3 risposte

3

Risposta breve:

do shell script "/your/script/path/shellscript.sh"

Utilizza questo snippet in un AppleScript, quindi salvalo come applicazione.

    
risposta data 20.08.2013 - 00:16
fonte
2

Utilizza Automator.

  1. Apri Automator e fai doppio clic su Applicazione.
  2. Nella casella di ricerca "Nome", digita Apple e dovresti visualizzare "Esegui AppleScript".
  3. Trascina "Esegui AppleScript" nella finestra di destra.
  4. Dove dice (* Your script goes here *) , sostituisci quel testo con il seguente codice:

    tell application "Terminal"
        activate
        do script with command "JMeter"
    end tell
    
  5. File > Salva e inserisci un nome e scegli dove salvare l'applicazione.
  6. Fai doppio clic sull'applicazione appena creata.
risposta data 20.08.2013 - 00:27
fonte
0

Ecco i comandi per creare una versione minima dell'app che esegue il comando top :

APP=Foo
mkdir -vp ${APP}.app/Contents/MacOS ${APP}.app/Contents/Resources # Create the folders.
PATH="$PATH:/usr/libexec" # Make sure PlistBuddy is in the PATH.
printf '#!/usr/bin/osascript\ntell application "Terminal"\n\tactivate\n\tdo script "top"\nend tell\n' > ${APP}.app/Contents/MacOS/${APP}
chmod +x ${APP}.app/Contents/MacOS/${APP} # Sets the executable flag.
PlistBuddy ${APP}.app/Contents/Info.plist -c "add CFBundleDisplayName string ${APP}"
PlistBuddy ${APP}.app/Contents/version.plist -c "add ProjectName string ${APP}"
find ${APP}.app # Verify the files.
open ${APP}.app # Run the app.

Nota: i comandi sopra devono essere eseguiti nella shell, ad es. in Terminale .

Nel codice precedente, puoi sostituire top con il comando shell.

Nel caso in cui hai a che fare con le app di Windows, prendi in considerazione l'utilizzo di WineBottler app .

    
risposta data 21.02.2018 - 22:37
fonte

Leggi altre domande sui tag