Wszyscy mamy od czasu do czasu zadania, które naszym zdaniem lepiej byłoby wykonywać skrypty lub automatyzować niż wykonywać ręcznie.
Oczywiście niektóre narzędzia lub języki są do tego lepsze niż inne - nikt (przy zdrowych zmysłach) nie wykonuje jednorazowego zadania polegającego na odsyłaniu do wiązki list tekstowych, które na przykład PM dał im w asemblerze.
Jakie jedno narzędzie lub język poleciłbyś do tego rodzaju szybkich i brudnych prac, o które poproszono cię, aby zrobić czas, w którym liczy się czas (a nie elegancja)?
Tło: Jestem byłym programistą, teraz kierownikiem ds. Rozwoju, szukam nowego języka dla zabawy. Jeśli mam się nauczyć czegoś dla zabawy, chciałbym, aby było to przydatne, a taki przypadek użycia jest najbardziej prawdopodobny.
źródło
Odpowiedzi:
Pyton
Oczywistą odpowiedzią (i nie bez powodu) jest Python. Jest to solidny język, dostępny na wielu platformach. Ponieważ jest dynamiczny, można go uruchamiać interaktywnie, co jest świetne do łączenia rzeczy i ma dość duży wybór bibliotek, więc jest to język ogólnego przeznaczenia, więc można go zastosować do większości problemów.
źródło
Autoit jest nie do pobicia. To narzędzie z językiem.
źródło
AutoHotKey
AutoHotkey to bezpłatne narzędzie typu open source dla systemu Windows. Dzięki niemu możesz:
http://ahkscript.org/
Za pomocą tego narzędzia zaoszczędziłem wielu firmom dużą sumę pieniędzy.
źródło
Perl
Perl jest właściwie moją definicją szybkiego i brudnego.
Perl jest nieskończenie elastyczny, co stanowi siłę i słabość. Nie wymusza na tobie struktury, ale jest tam, jeśli chcesz. Ma biblioteki do wszystkiego. Jest szeroko stosowany przez 20 lat; istnieje mnóstwo kodu do pracy.
źródło
$=
; $ _ = \% !; $ _) = / (.) /; $ == ++ $ |; ($., $ /, $ ,, $ \, $ ", $;, $ ^, $ #, $ ~, $ *, $ :, @%) = ($! = ~ / (.) (.). (.) (.) (.) (.) .. (.) (.) (.) .. (.) ... ....) /, $ "), $ = ++; $. ++; $. ++; $ _ ++; $ _ ++; ($ _, $ \, $,) = ($ ~ . $ "." $; $ / $% [$?] $ _ $ \ $, $: $% [$?] ", $" & $ ~, $ #,); $, ++; $, + +; $ ^ | = $ ";$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=
(to jest prawdziwy Perl - co prawda umyślnie zły Perl - dla tych, którzy go nie czytają).PowerShell
Jest to mniej ogólne niż Python - ale jeśli istniejesz w środowisku Windows, to prawdopodobnie będzie bardziej użyteczne.
Ma więcej powłoki / skryptu niż Python (bo tak właśnie jest), ale może podłączyć się do frameworka .NET, co daje całkiem niezwykłą głębię możliwości. Ma również szerokie wsparcie społeczności.
Microsoft zostały zajęte dodanie PowerShell do ich produktów serwerowych (stąd „bardziej użyteczne”) i wprowadziły usług zdalnych, co pozwala na uruchamianie skryptów tam z konsoli tutaj .
źródło
Nowoczesna powłoka unix. Np. Bash.
źródło
elisp, jeśli widziałeś bogactwo zadań, które są wykorzystywane do realizacji za pośrednictwem platformy Emacs. Emacs może ominąć wszystkie funkcje pełnego menedżera okien, IDE, pakietu Office, przeglądarki, klienta poczty e-mail, klienta czatu, powłoki, eksploratora systemu plików i innych. Większość jest osiągana za pomocą programów elisp.
źródło
W przypadku niektórych zadań akcje mogą być dobrym rozwiązaniem.
Ma swoisty proces schematu blokowego, w którym można dodać,
actions
aby uruchamiać sekwencyjnie. Noweactions
można napisać w języku Java.Oświadczenie: Muszę go jeszcze użyć.
źródło
Do złożonej automatyzacji możesz użyć programu Robot Framework . Ramy mają głównie na celu zautomatyzowane testowanie, ale można je również wykorzystać do ogólnej automatyzacji.
Możesz łatwo pisać własne biblioteki w Pythonie, a istnieje wiele wcześniej istniejących (selen, AutoIt , telnet, ssh, swing itp.), Które pozwalają na prowadzenie różnego rodzaju rzeczy, które są bardzo potężne, jeśli jesteś w mieszane środowisko.
Jest sterowany słowami kluczowymi, dzięki czemu możesz tworzyć nowe słowa kluczowe, a tym samym abstrakcyjne powtarzalne zadania, a nawet ma IDE, które jest aktywnie rozwijane, co pozwala na kilka prostych refaktoryzacji.
źródło
Pracowałem nad zebraniem kilku procedur Common Lisp, aby pomóc w tworzeniu skryptów, ale nie jest to tak łatwe do zrobienia jak Perl.
źródło
W systemie Windows bardzo polecam AutoIt (http://autoitscript.com). Zainstaluj pakiet Scite z sekcji pobierania.
http://autoitscript.com/forum to świetne źródło pomocy i pomocy w znalezieniu funkcji UDF, którą można uwzględnić w skryptach.
AutoIt jest w stanie kontrolować okna aplikacji i elementy sterujące, co pozwala zautomatyzować prawie wszystko. Nie wymaga również żadnych zależności po skompilowaniu pliku wykonywalnego.
źródło
Miałem ten sam problem z używaniem wielu języków dla różnych zestawów automatyzacji. Jestem starszym konsultantem w firmie świadczącej usługi IT w Indiach. Za każdym razem konsultuję się z innym
język do tego celu, miałem trudności z uzasadnieniem go dla kierownictwa . Rozmawiałem nawet z przyjaciółmi (jako zwykła rozmowa) o opracowaniu zunifikowanego języka, który zaspokoi wszystkie potrzeby w zakresie automatyzacji i nadal będzie obejmował wiele platform. Jeśli jest dostępny, to może
zmienić świat skryptów. O ile mi wiadomo, zwykle używane jest mapowanie
Języki i domena użytkowania
AutoIT - Automatyzacja GUI oparta na Windows Bash - Automatyzacja oparta na Uniksie polega głównie na interakcji systemu Perl - Automatyzacja przetwarzania danych przy mniejszej interakcji systemu Oczekiwanie - Wymagania interaktywne oparte na znakach. (którego nie może rozwiązać Perl, Bash) VBS - skrypty oparte na systemie Windows
Każda automatyzacja zawsze towarzyszy jednemu lub większej liczbie zdalnych wywołań w celu wyszukiwania informacji lub publikowania wyników. Oto inna lista dotycząca głównych systemów operacyjnych.
Zdalne wywoływanie skryptu (narzędzia)
Windows -> Windows
psexec, Powershell
Windows -> Unix
plink, Quest Plink -> Serwer SSH
Unix -> Unix
Klient SSH -> Serwer SSH
Unix -> Windows
winexe, wmic -> Agent WMI check_nrpe -> Agent NRPE_NT
Na powyższej liście możesz łatwo stwierdzić, że żaden język nie zastąpi innego zestawu funkcji. Musimy z nimi żyć, dopóki nie będziemy mieć jednego uniwersalnego systemu operacyjnego i uniwersalnego standardu protokołów komunikacyjnych i interfejsów API.
źródło
Python jest do tego świetny i ma większą bazę instalacyjną, a Ruby nie jest lepszy, z wyjątkiem tego, że ma Poignant Guide to Ruby . Poważnie, lisy z kreskówek.
źródło