Ich habe gerade eine Automator-App mit AppleScript (zusammen mit ein paar Bash-Zeilen) geschrieben, um FTP mit einem einzigen Klick zu starten. Es läuft jedoch mehr als ein bisschen langsam. Hier ist der Code:
set ftpstatus to "off"
try
do shell script "echo \"QUIT\" | telnet 127.0.0.1" & " ftp 2>&1 | grep \"Escape character is\" > /dev/null"
set ftpstatus to "on"
on error
set ftpstatus to "off"
end try
if (ftpstatus = "off") then
set ipaddr to IPv4 address of (get system info)
set sun to short user name of (get system info)
do shell script "sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist" with administrator privileges
tell application "Finder" to display alert "FTP Launched and ready for file-transfer" & character id 8233 & character id 8233 & character id 8233 & "Address: ftp://" & ipaddr & ":21" & character id 8233 & "User Name: " & sun
else
do shell script "sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist" with administrator privileges
tell application "Finder" to display alert "FTP session closed"
end if
Der Code bewirkt Folgendes:
- Überprüfen Sie, ob der FTP-Server ausgeführt wird
- Wenn ja, schalten Sie es aus und werfen Sie eine Nachricht mit der Aufschrift "FTP-Sitzung geschlossen"
- Wenn nein, schalten Sie es ein und werfen Sie eine Nachricht mit der Aufschrift "FTP-Sitzung geöffnet" zusammen mit meiner IP-Adresse und meinem Benutzernamen
Dieses Skript funktioniert wie ein Charm, aber da es zu langsam ist, frage ich mich, ob es eine Möglichkeit gibt, es in ein Bash-Shell-Skript zu konvertieren. Das sollte die Dinge viel beschleunigen. Irgendwelche Vorschläge?
applescript
automator
bash
ftp
TheLearner
quelle
quelle
localhost
do shell script ... with administrator privileges
Sie werden aufgefordert, Ihr Passwort einzugeben. Eine andere Möglichkeit besteht darin, eine Anwendung zu erstellen, mit der Ihr Skript gestartet wirdsudo
. Im Allgemeinen müssen ausführbare Dateien, die ordnungsgemäß im * .app-Bundle enthalten sind, Terminal nicht starten.