eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki shell już jest w Windows › Re: Jaki shell ju? jest w Windows
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsb.icpnet.pl!not-for-mail
    From: Patryk Włos <p...@i...peel>
    Newsgroups: pl.comp.programming
    Subject: Re: Jaki shell ju? jest w Windows
    Date: Wed, 01 Jul 2009 12:19:30 +0200
    Organization: ICP News Server
    Lines: 60
    Message-ID: <h2fd77$dls$1@opal.icpnet.pl>
    References: <h2d0u2$gnp$1@nemesis.news.neostrada.pl>
    <h2d25k$im0$1@nemesis.news.neostrada.pl>
    <t...@4...com>
    <s...@d...im.pwr.wroc.pl>
    <4...@4...com>
    <h2e1n2$3d2$1@nemesis.news.neostrada.pl>
    <h2f4o6$ft8$1@nemesis.news.neostrada.pl>
    <h2f7pb$21h$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: c108-50.icpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: opal.icpnet.pl 1246443559 14012 62.21.108.50 (1 Jul 2009 10:19:19 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Wed, 1 Jul 2009 10:19:19 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.12 (Windows/20080213)
    In-Reply-To: <h2f7pb$21h$1@atlantis.news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:182453
    [ ukryj nagłówki ]

    > No, to teraz pytanko - dlaczego to musi być tak popieprzone (w
    > porównaniu z bash). Taki sobie skrypt:
    >
    > Const SHOW_ACTIVE_APP = 1
    > Set objShell = Wscript.CreateObject("Wscript.Shell")
    > objShell.Run ("echo 123"), SHOW_ACTIVE_APP, True
    > Wscript.Quit
    >
    > zamiast grzecznie wypisać 123 - buntuje się, bo oczywiście nie ma
    > takiego programu jak echo w MS Windows. Echo jest wbudowane w
    > command.com, ale command.com też nie bardzo działa z VBS, w dodatku XP i
    > Vista to raczej cmd.exe .
    >
    > Po co takie cudo mi? Ano po to, aby zrobić "echo " & param & " |
    > app.exe" zamiast zwykłego "echo 123".
    >
    > W bash to trywialne: echo "$param1 $param2 $param3 $param4" | app
    >
    > Po co tak? Ano, param-sy są wypracowywane przez skrypt - jakieś 20-30
    > wartości na każdy, czyli łącznie więcej niż 20^4 zestawów parametrów ale
    > trochę z tego odpada - nie każda kombinacja jest potrzebna. To powinno
    > się łatwo modyfikować, tak bez kompilacji - także np. przy powtórnym
    > uruchomieniu nie odpalać zestawu już policzonego itd. Sam program app
    > jest mocno numeryczny - i chodzi o to, aby nie zaśmiecać go jakimiś
    > bzdetami okołosystemowymi (czas obliczeń dla jednego zestawu... no...
    > powiedzmy około 2 godziny; tak, wiem ile jest 2 godziny razy 160 000;
    > tak, wiem co to jest O(n^k) i wiem że nie da się szybciej - i tak jest
    > zaje... szybko.) .Ładowanie od nowa za każdym razem ułatwia życie gdy
    > system padnie czy coś - strata tylko jednego przebiegu.
    >
    > W bash to było trywialne - generowanie parametrów, odpalanie programu,
    > łapanie wyników, archiwizacja wyników, transfer do gnuplot przez sed,
    > duży ładny plik z wynikami - kilkaset stron wykresów. Ba! Skrypty
    > ślicznie gwarantują odtwarzalność wyników - jak ktoś nie wierzy, czy np.
    > będzie chciał policzyć te same zestawy parametrów ale dla innego modelu
    > - to proszę bardzo, bez wysiłku. Tak jak lubię - mniej klikania więcej
    > rezultatów. A program app ma tylko stdin/stdout. Zero GUI.
    >
    > W Windows jest... no jakoś pod górkę. W końcu są Unix Utils - bo jestem
    > za leniwy aby uruchamiać Linuksa. Można by zakładać plik tymczasowy.
    > Można napisać własne echo. Ale chyba już mi się odechciało skryptów w MS
    > Windows.
    >
    > Czy MS musi wszystko komplikować bardziej niż trzeba?!

    Ale tu nie ma nic skomplikowanego. Masz obiekt do uruchamiania programów
    zewnętrznych - używasz go dla każdego pojedynczego programu. Wyniki
    działania wyciągasz do zmiennej, obrabiasz w VBS i przekazujesz jako
    parametry przy uruchamianiu kolejnych programów.

    Identycznie by to można zrobić w Perlu, czy czymkolwiek pod unixami.

    Jedynie nie ma w WSH możliwości bezpośredniego wykonywania potokowego,
    ale taka technika i tak jest błędogenna przy bardziej skomplikowanych
    rzeczach, więc to nie powinno być problemem.


    --
    Zobacz, jak się pracuje w Google:
    http://pracownik.blogspot.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: