Collegamento Dock per uno script bash interattivo

0

Sono nuovo di OSX e tutto ciò che voglio è un collegamento a un'applicazione nel Dock che apre il terminale e digita il primo comando e mi aspetta che fornisca la password. Ecco lo script che voglio eseguire:

#!/usr/bin/env bash
sudo openconnect --user={username} {host}

Ed ecco l'AppleScript che ho creato usando Automator:

do shell script "/usr/local/bin/openconnect --user={user} {host}" with administrator privileges

Ma quando lo eseguo, esce quando richiede nome utente e password. Cosa mi manca qui?

    
posta norbertpy 18.07.2015 - 01:15
fonte

2 risposte

1

Bene, penso di aver trovato la risposta:

tell application "Terminal"
    do script "sudo /usr/local/bin/openconnect --user={user} {host}"
    activate
end tell
    
risposta data 18.07.2015 - 01:45
fonte
1

Invece di avere un'applet Automator / AppleScript per eseguire questo comando, puoi utilizzare Terminal per eseguire automaticamente tale comando all'avvio.

  1. In Terminale, vai a Terminale > Preferenze.
  2. Nel pannello Generale, sotto "Conchiglie aperte con:", seleziona "Comando (percorso completo):"
  3. Inserisci il tuo comando nel campo di testo.

Ora, quando si apre Terminal, quel comando verrà eseguito automaticamente.

Se desideri essere in grado di avviare Terminal e aprire una finestra che non esegue automaticamente il comando, ignorare i passaggi precedenti e seguire i passaggi seguenti:

  1. In Terminale, vai a Terminale > Preferenze.
  2. Nel riquadro Profili, nell'elenco a sinistra, trova il profilo predefinito e selezionalo.
  3. In basso a sinistra, fai clic sull'icona della ruota dentata ⚙ e fai clic su "Duplica profilo". Etichetta il duplicato con qualcosa che indica che il comando non verrà eseguito su questo profilo.
  4. Torna sul profilo predefinito, sotto l'etichetta Esegui avvio, seleziona la casella di controllo "Esegui comando:" e inserisci il comando nella casella di testo. Verifica anche che "Esegui all'interno della shell" sia spuntato.
  5. Chiudi il terminale e riavvia. Quando si apre una finestra, dovrebbe eseguire il comando per impostazione predefinita. Per aprire una finestra di Terminale senza eseguire il comando, vai a Shell > Nuova finestra > Nome del profilo duplicato.
risposta data 22.07.2015 - 00:09
fonte

Leggi altre domande sui tag