Saya baru saja menulis aplikasi Automator menggunakan AppleScript (bersama dengan beberapa garis bash) untuk memulai FTP dengan satu klik. Namun itu berjalan lebih dari sedikit lambat. Ini kodenya:
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
Inilah yang dilakukan oleh kode:
- Periksa apakah server FTP sedang berjalan
- Jika ya, matikan dan buang kotak pesan yang mengatakan "sesi FTP ditutup"
- Jika tidak, nyalakan dan buang kotak pesan yang mengatakan "sesi FTP terbuka" bersama dengan alamat IP dan nama pengguna saya
Skrip ini berfungsi seperti mantra tetapi karena terlalu lambat, saya ingin tahu apakah ada cara untuk mengubahnya menjadi skrip bash shell. Itu harus mempercepat banyak hal. Ada saran?
applescript
automator
bash
ftp
Pembelajar
sumber
sumber
localhost
do shell script ... with administrator privileges
Anda akan diminta untuk memasukkan kata sandi Anda. Cara lain adalah membuat aplikasi yang akan meluncurkan skrip Andasudo
. Umumnya executable tertutup dengan benar di dalam bundel * .app tidak harus meluncurkan Terminal.