einfache Befehle im Terminal

R

rooti

Aktives Mitglied
Thread Starter
Dabei seit
10.01.2007
Beiträge
126
Reaktionspunkte
1
hallo!
ich möchte einige Befehle nacheinander mittels Applescript im Terminal ausführen.. allerdings bekomme ich es nicht hin, da bei jedem Befehl den ich mit "do shell script" starte ein neues Terminalfenster geöffnet wird..

Es soll zuerst "telnet IP-ADRESSE" ausgeführt werden, dann das Passwort und dann ein Befehl und am Ende soll die telnet-verbindung geschlossen werden und das Terminal beendet werden. kann mir wer dabei helfen?
 
rufst du in deinem Applescript den noch speziell tell app Terminal auf und dann do shell script? das muss nicht. kannst einfach so das do shell script verwenden und es öffnet sich nix. du kannst aber auch alle deine shell befehle nacheinander ich glaub es war mit ; getrennt oder mit nem \n...weiß ich nicht mehr so genau.
 
und dann wartet das script automatisch auch auf die antworten vom server?
 
Hier ein AppleScript das machen sollte das du willst(wenn ich die Angabe richtig verstanden habe):

Code:
on run {}
	tell application "Terminal"
		activate
	end tell
	
	tell application "System Events"
		keystroke "telnet benutzer@ipadresse"
		keystroke return
                delay(2)
                keystroke "passwort"
                keystroke return
		delay (2)
		keystroke "befehl_den_du_ausführen_willst"
		keystroke return
		delay (2)
		keystroke "exit"
		keystroke return
	end tell
	
	return 0
end run
 
ne.. geht irgendwie nicht... so wie du es geschrieben hast, öffnet er das terminal und alle befehle dann anschließend in einem neuen browserfenster...
habe das "System Events" zu terminal geändert.. dann kann er aber die nächste zeile nicht lesen..
 
error "„Terminal“ hat einen Fehler erhalten: „keystroke \"telnet fritz.box\"“ kann nicht gelesen werden." number -1728 from keystroke "telnet fritz.box"
ist die genaue Ausgabe..
 
Soweit ich weiß, ist es nicht nötig "System Events" und "keystroke" zu benutzen.
Du kannst Deine Eingaben/Befehle/Passwörter (Sicherheitslücke !) mit AppleScript direkt ins Terminal schreiben, z.B.:
PHP:
tell application "Terminal"
	activate
	delay 1
	do script "sudo find / -name 'Finder*'" in window 1
	delay 1
	do script "deinPasswort" in window 1
end tell

Höchstwahrscheinlich geht es noch einfacher mit einem echten Shellscript... (Google is your friend)

Good scripting
Farid
 
das problem ist glaube ich, dass telnet ein eigener Subprozess ist. daher öffnet AppleScript für jede Zeile Code ein neues Fenster...
den ich mach das ganze besser mit Java... sollte nerven sparen :D
 
Zurück
Oben Unten