2 votes

Comment convertir cet Applescript en Terminal osascript ?

J'essaie de convertir cet AppleScript en format osascript qui peut être exécuté à partir du terminal :

tell application "System Preferences" to activate
tell application "System Preferences"
    reveal anchor "input" of pane id "com.apple.preference.sound"
end tell
tell application "System Events" to tell process "System Preferences"
    repeat until exists tab group 1 of window "Sound"
    end repeat
    tell table 1 of scroll area 1 of tab group 1 of window 1
        select (row 1 where value of text field 1 is "Internal Microphone")
    end tell
end tell
quit application "System Preferences"

Quelle est la syntaxe appropriée pour ce faire ? Dois-je taper osascript -e avant chaque ligne ?

2voto

user3439894 Points 52496

Il existe plusieurs façons d'atteindre cet objectif. Voici la méthode que j'utiliserais...

Sur Terminal exécutez ce qui suit commandement composé par exemple :

f="myscript"; touch "$f"; open -e "$f"; chmod +x "$f"
  • Note : Changement myscript au nom que vous souhaitez.

Dans le nouvel espace vierge TextEdit qui s'ouvre, ajoutez ce qui suit comme première ligne :

#!/usr/bin/osascript

Ensuite, ajoutez votre AppleScript code en vertu de la shebang que vous venez d'ajouter.

Enregistrez le document.

Maintenant, pour l'utiliser dans Terminal par exemple :

./myscript

Ou :

/path/to/myscript

Ou placez-la dans un répertoire qui se trouve dans la zone définie PATH puis utiliser simplement son nom par exemple :

myscript

Cette méthode fonctionne également, mais elle n'est pas pratique pour les longues périodes. scripts :

osascript -e 'tell application "System Preferences" to activate' -e 'tell application "System Preferences"' -e 'reveal anchor "input" of pane id "com.apple.preference.sound"' -e 'end tell' -e 'tell application "System Events" to tell process "System Preferences"' -e 'repeat until exists tab group 1 of window "Sound"' -e 'end repeat' -e 'tell table 1 of scroll area 1 of tab group 1 of window 1' -e 'select (row 1 where value of text field 1 is "Internal Microphone")' -e 'end tell' -e 'end tell' -e 'quit application "System Preferences"'

Veuillez lire le page de manuel pour osascript pour de plus amples informations. Sur Terminal :

man osascript

Dans un autre ordre d'idées, si vous omettez la ligne suivante de l'option code vous n'aurez pas à voir le Préférences du système fenêtre clignotent sur l'écran :

Enregistré en tant que script , enlever :

tell application "System Preferences" to activate

Dans la très longue ligne de commande , enlever :

-e 'tell application "System Preferences" to activate'

-3voto

Oui, vous devez mettre osascript -e avant chaque ligne comme ceci :

osascript -e 'display dialog "Hello from osxdaily.com" with title "Hello"'

et j'espère ce lien vous aidera davantage.

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