eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki shell już jest w WindowsRe: Jaki shell ju? jest w Windows
  • Data: 2009-07-01 08:44:27
    Temat: Re: Jaki shell ju? jest w Windows
    Od: "slawek" <s...@h...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]



    Użytkownik "Wiktor Zychla" <u...@n...com.eu> napisał w wiadomości grup
    dyskusyjnych:h2f4o6$ft8$...@n...news.neostrada.pl.
    ..
    >> Pytałem się wyraźnie: jaki jest już w systemie. O tym że można mieć bash
    >> w
    >
    > i dostałeś WYRAŹNĄ odpowiedź: Windows Scripting Host.

    Owszem. Dostałem też równie wyraźną odpowiedź - PowerShell (a ten nie jest
    preinstalowany o ile się nie mylę).

    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?!

    slawek



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: