Acabo de escribir una aplicación de Automator utilizando AppleScript (junto con un par de líneas de bash) para iniciar el FTP con un solo clic. Sin embargo, se ejecuta más que 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:
- Comprobar si el servidor FTP está funcionando
- Si es así, desactívalo y lanza un cuadro de mensaje diciendo "Sesión FTP cerrada"
- Si no, enciéndelo y lanza un cuadro de mensaje diciendo "Sesión FTP abierta" junto con mi dirección IP y nombre de usuario
Este script funciona a las mil maravillas pero como es demasiado lento, me pregunto si hay alguna forma de convertirlo en un script de bash shell. Eso debería acelerar mucho las cosas. ¿Alguna sugerencia?