Właśnie napisałem aplikację Automator przy użyciu AppleScript (wraz z kilkoma linijkami bash), aby uruchomić FTP jednym kliknięciem. Działa jednak nieco wolniej. Oto kod:
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
Oto, co robi kod:
- Sprawdź, czy serwer FTP działa
- Jeśli tak, wyłącz go i wyświetl okno komunikatu „Sesja FTP zamknięta”
- Jeśli nie, włącz go i wyświetl pole komunikatu „Sesja FTP otwarta” wraz z moim adresem IP i nazwą użytkownika
Ten skrypt działa jak urok, ale ponieważ jest zbyt wolny, zastanawiam się, czy jest jakiś sposób na przekonwertowanie go na skrypt powłoki bash. To powinno znacznie przyspieszyć. Jakieś sugestie?
applescript
automator
bash
ftp
TheLearner
źródło
źródło
localhost
do shell script ... with administrator privileges
Zostaniesz poproszony o podanie hasła. Innym sposobem jest stworzenie aplikacji, która uruchomi Twój skryptsudo
. Ogólnie pliki wykonywalne poprawnie zawarte w pakiecie * .app nie muszą uruchamiać terminalu.