Je travaille sur un Applescript pour faciliter la connexion aux domaines d'authentification à 2 facteurs. Longue histoire courte, au lieu d'utiliser des retards et envoyer du texte, je voudrais interroger le contenu de la session en cours et entrer des noms d'utilisateur/mots de passe/tokencodes dès que l'invite pour eux apparaît. Heureusement, iTerm v3.X a un tas de choses AppleScript cool: https://www.iterm2.com/documentation-scripting.htmlComment puis-je récupérer le contenu d'une session iTerm avec Applescript?
Mais j'ai beaucoup de mal à lire le contenu de la session terminal. Voici ce que j'ai jusqu'à présent:
on run
# Start or activate iTerm
tell application "iTerm"
activate
tell the first window
# Create a new tab, which will create a new session inside
set newTab to (create tab with default profile)
tell newTab
# Since we just created the tab, there should only be one session right now.
repeat with aSession in sessions
tell aSession
delay 3
#set myvar to (tty)
#set myvar to (text)
set myvar to (contents)
#do shell script "echo " & myvar & " >> ~/some_file.txt"
#write text (contents)
end tell
end repeat
end tell
end tell
end tell
return myvar
end run
Comme vous pouvez le voir, je l'ai essayé plusieurs choses différentes, « contenu » semblait être la solution la plus prometteuse selon la documentation, mais des choses folles sort, comme ceci:
session id "0986F3BD-D2AF-480F-B517-AB7A43B2A0C4" of tab 3 of window id "window-1" of application "iTerm"
Qu'est-ce que ce genre de choses? Pourquoi ne pas voir ce que je pense, ce qui est quelque chose comme ceci:
Last login: Fri Jun 10 18:18:22 on ttys001
[email protected]:~|⇒
Dans ma version item2 « Build 2.9.20160313 », votre script fonctionne très bien et obtient exactement ce que prévu. J'ai couru ce script par 'Script Editor'. –
Eh bien, j'ai téléchargé cette version et je jure que j'ai eu ce script pour fonctionner 3 ou 4 fois de suite, mais dès que j'ai commencé à éditer mon script, il a recommencé à retourner des trucs fous sur l'ID de session. Je n'arrive pas à comprendre ce que je fais de mal ou ce qui ne va pas. – cgm123
avez-vous exécuté votre script depuis 'Script Editor' ou d'autres façons? Je ne comprends pas la signification de 'dans une rangée' ... –