1 votes

Raccourci du dock pour un script interactif de bash

Je suis nouveau sur OSX et tout ce que je veux c'est un raccourci d'application dans Dock qui ouvre le terminal et tape la première commande et attend que je fournisse le mot de passe. Voici le script que je veux exécuter :

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

Et voici l'AppleScript que j'ai créé en utilisant Automator :

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

Mais lorsque je l'exécute, il se termine lorsqu'il demande le nom d'utilisateur et le mot de passe. Qu'est-ce que je rate ici ?

2voto

sgzmd Points 1576

Très bien, je pense avoir trouvé la réponse :

tell application "Terminal"
    do script "sudo /usr/local/bin/openconnect --user={user} {host}"
    activate
end tell

1voto

Thomas Jones Points 1210

Au lieu d'avoir une applet Automator/AppleScript pour exécuter cette commande, vous pouvez utiliser Terminal pour exécuter automatiquement cette commande au lancement.

  1. Dans le Terminal, allez dans Terminal > Préférences.
  2. Dans le volet général, sous "Shells open with :", sélectionnez "Command (complete path) :".
  3. Saisissez votre commande dans le champ de texte.

Maintenant, lorsque le Terminal s'ouvre, cette commande s'exécute automatiquement.

Si vous souhaitez pouvoir lancer Terminal et ouvrir une fenêtre qui n'exécute pas la commande automatiquement, ne tenez pas compte des étapes ci-dessus et suivez les étapes suivantes :

  1. Dans le Terminal, allez dans Terminal > Préférences.
  2. Dans le volet Profils, dans la liste de gauche, trouvez le profil par défaut, et sélectionnez-le.
  3. En bas à gauche, cliquez sur l'icône de la roue dentée ⚙ et cliquez sur "Dupliquer le profil". Marquez le duplicata avec quelque chose qui indique que la commande ne s'exécutera pas sur ce profil.
  4. Dans le profil par défaut, sous l'intitulé Démarrage, cochez la case "Exécuter la commande :", et entrez votre commande dans la zone de texte. Assurez-vous que l'option "Run inside shell" est également cochée.
  5. Fermez Terminal, et relancez. Lorsqu'une fenêtre s'ouvre, elle doit exécuter votre commande par défaut. Pour ouvrir une fenêtre de Terminal sans que votre commande soit exécutée, allez dans Shell > Nouvelle fenêtre > Nom du profil dupliqué.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X