Acabo de escribir una aplicación Automator utilizando AppleScript (junto con un par de líneas de bash) para iniciar FTP con un solo clic. Sin embargo, se ejecuta más de un poco lento. Aquí está el código:
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
Esto es lo que hace el código:
- Comprueba si el servidor FTP se está ejecutando
- Si es así, apáguelo y abra un cuadro de mensaje que diga "sesión FTP cerrada"
- Si no, enciéndalo y lance un cuadro de mensaje que diga "sesión de FTP abierta" junto con mi dirección IP y nombre de usuario
Este script funciona a la perfección, pero como es demasiado lento, me pregunto si hay alguna forma de convertirlo en un script de shell bash. Eso debería acelerar mucho las cosas. ¿Alguna sugerencia?