eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki shell już jest w Windows › Re: Jaki shell ju? jest w Windows
  • Data: 2009-07-01 12:09:06
    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:h2fbr4$b9r$...@a...news.neostrada.pl
    ...
    > nie znam bash i Ci nie pomogę, natomiast naturalne potokowanie robi się w
    > skryptach Windows tak:
    >
    > http://www.microsoft.com/technet/scriptcenter/topics
    /winpsh/manual/pipe.mspx

    1. Warto poznać.
    2. To PowerShell, czyli wymaga instalacji. A chodziło o coś, co już jest.


    > to jest nawet LEPSZE niż potoki w bashu, bo potokiem przekazywane mogą być
    > obiekty, a nie tylko literały.

    3. Hmmm, nie wiem jak to rozumieć. W shellu uniksowym z tego że progr1 |
    prog2 nie wynika co jest przekazywane pomiędzy programami - pewnie jakieś
    bajty, ale dla programów to mogą chyba być i obiekty.

    > natomiast w WSH, który NIE JEST POWŁOKĄ, tylko hostem skryptów z tego co
    > mi wiadomo potokowania w taki łatwy sposób nie ma - oczekujesz
    > funkcjonalności jabłka od gruszki. do potokowania międzyprocesowego służą
    > potoki, których

    W Windows. W Linuksie jest to dużo prostsze. To co mogę napisać jako
    komendę - to mogę umieścić w skrypcie. A do tego skrypt oferuje trochę
    dodatkowych mechanizmów - cytowania, pętle, zmienne. Wszystko proste i
    naturalne. Obiektów nie ma, bo i skrypty to narzędzie do prostych rzeczy -
    ot, coś co tworzy się doraźnie w potrzebie chwili.

    WSH nie jest powłoką - ale dlaczego nie ma łatwego dostępu do poleceń
    powłoki - to zagadka!

    >> command.com też nie bardzo działa z VBS
    >
    > kto Ci tak powiedział?

    Próbowałem, jakoś nie wychodziło. Dawałem Run zamiast Exec. Teraz działa.

    > Dim oExecution
    > set oShell = createobject("wscript.shell")
    > polecenie = "program1 | program2 | program3"
    > set oExecution = oShell.exec("%ComSpec% /c """ & polecenie & """")
    > Wscript.Echo oExecution.StdOut.readall

    A w bash to robi się jedna linijka, po prostu plik z jedną linijką:

    program1 | program2 | program3

    Jak ktoś masochista, to będzie pisał 5 linijek tam, gdzie potrzeba 1 i to
    samokomentującej się.

    W zasadzie .BAT też tak by wyglądał, ale niestety - uruchamiałby program2
    dopiero jak program1 zakończyłby swe działanie (nota bene śmieci z plików
    tymczasowych tworzonych przez more w DOS.)

    > jak się nie umie wyrwać poza schemat starych przyzwyczajeń, to się ma
    > pretensje do wszystkich dookoła ;)

    Wiesz, dla mnie to stare przyzwyczajenia to DOS i Windows 3.0 - _ahincr i
    takie tam. Od kiedy wyrwałem się do Linuksa - od razu lepiej. Wiem co można
    zrobić lepiej i jak. Kwestia tylko że ciągle spotykam ludzi, którzy np. nie
    wiedzą co to bash. Jeżeli ty nie wiesz - to co dopiero Zwykły Użytkownik?!
    Dla ZU skrypt wsh może być dużo lepszy niż ten bash-owy.

    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: