-
21. Data: 2009-07-01 12:08:43
Temat: Re: Jaki shell już jest w Windows
Od: "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>
On 01.07.2009, Mateusz Ludwin wrote:
> Stachu 'Dozzie' K. wrote:
>
>>>> A jaki shell/język skryptowy jest dostępny w MS Windows - chodzi o to,
>>>> aby niczego nie trzeba było instalować i aby nie trzeba było sprawdzać
>>>> jakie to są Windows (Vista czy np. jakieś ME/NT) ? Polecenia z plików
>>>> BAT to trochę za mało...
>>> CMD ma funkcjonalność taką jak bash.
>>
>> Wiesz co, ja bym się kłócił. Raz, że pisanie w nim skryptów to PITA,
>
> Bo go nie znasz. Basha się nauczyłeś a CMD nie.
Siła shella (nie tylko basha) leży w narzędziach, które z niego można
uruchamiać i możliwości łączenia ich outputu. Pod Windows pod CMD tego
brakuje, podobnie jak jednolitego między językami (tj. nietłumaczonego)
outputu.
>> dwa, że nawet niespecjalnie potrafi ot, choćby głupie przejęcie outputu
>> programu do zmiennej żeby użyć go jako argumentu dla innego polecenia.
>
> Widziałem kiedyś takie sztuczki w CMD że fanatyczny pryszczers od basha wymiękł
> i uciekł z wątku.
No to zaprezentuj jakąś albo daj referencję. Ja podałem czego się pod
cmd.exe nie da zrobić.
--
Stanislaw Klekot
-
22. Data: 2009-07-01 12:09:06
Temat: Re: Jaki shell ju? jest w Windows
Od: "slawek" <s...@h...pl>
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
-
23. Data: 2009-07-01 12:12:29
Temat: Re: Jaki shell już jest w Windows
Od: Damian 'legion' Szuberski <l...@w...cutthisjunk.amu.edu.andthis.pl>
On 2009-07-01, Mateusz Ludwin wrote:
> Widziałem kiedyś takie sztuczki w CMD że fanatyczny pryszczers od
> basha wymiękł i uciekł z wątku.
Chętnie zobaczę.
--
Damian Szuberski
-
24. Data: 2009-07-01 12:20:58
Temat: Re: Jaki shell ju? jest w Windows
Od: "slawek" <s...@h...pl>
Użytkownik "Wiktor Zychla" <u...@n...com.eu> napisał w wiadomości grup
dyskusyjnych:h2fjcc$7mp$...@n...news.neostrada.pl.
..
> z jednej strony znęcasz się, zupełnie niepotrzebnie, nad mechanizmami z
> poprzedniej epoki, z drugiej strony chcesz rozwiązania, które nie wymaga
> żadnych dodatkowych komponentów (PowerShell nie może być, bo nie ma go
> standardowo w starszych systemach), czyli de facto ograniczasz się do
> rozwiazań z poprzednich epok.
Nie będę ci radził abyś w Google poszukał definicji słowa "epoka" - ale
trudno uznać, że XP sprzedawany ciągle z netbookami to prehistoria czy epoka
lodowcowa. Bo to coś, co może dostać ZU wprost ze sklepu. Dzisiaj. Jutro. I
jeżeli dobrze rozumiem, to PowerShell nie instaluje się sam z siebie w SP3
czy przez Windows Update. Gdyby się instalował... cóż, właśnie pierwotne
pytanie było o tym, co jest standardowo-standardowym-preinstalowanym
narzędziem MS będącym odpowiednikiem bash dla Uniksów/Linuksów.
Oczywiście - możesz np. stwierdzić, że aby uruchomić twój program to trzeba
kupić komputer z Windows 7 i procesorem produkowanym w lipcu 2009, bo te
wcześniejsze - to inna epoka itd. itp. I będziesz miał do pewnego stopnia
rację.
A ja mam też do pewnego stopnia rację, że w Uniksach są rozwiązania z końca
lat 60-tych. Czyli jakieś półwiecze. A algorytm Euklidesa to tysiące lat,
wzorek na odległość w przestrzeni kartezjańskiej to Pitagoras zapodał.
Bardzo jestem ograniczony, że nadal wierzę w teorię Kopernika?
> proponuję wątek zakończyć.
Słuszna propozycja.
> czy inny problem, tylko o to że chcesz sobie ponarzekać.
Też. Ale na pręgierzu 50% lub więcej respondentów nie wiedziałby co to jest
bash. I nie potrafiłoby udzielić merytorycznej odpowiedzi.
slawek
-
25. Data: 2009-07-01 12:21:41
Temat: Re: Jaki shell już jest w Windows
Od: Mateusz Ludwin <n...@s...org>
Damian 'legion' Szuberski wrote:
> On 2009-07-01, Mateusz Ludwin wrote:
>> Widziałem kiedyś takie sztuczki w CMD że fanatyczny pryszczers od
>> basha wymiękł i uciekł z wątku.
> Chętnie zobaczę.
A to musiałbym poszukać, ale da się zrobić.
--
Mateusz Ludwin mateuszl [at] gmail [dot] com
-
26. Data: 2009-07-01 12:37:34
Temat: Re: Jaki shell już jest w Windows
Od: "slawek" <s...@h...pl>
Użytkownik "Mateusz Ludwin" <n...@s...org> napisał w wiadomości grup
dyskusyjnych:h2fi08$dg2$...@i...gazeta.pl...
> Widziałem kiedyś takie sztuczki w CMD że fanatyczny pryszczers od basha
> wymiękł i uciekł z wątku.
A ja widziałem cielę z dwoma głowami.
Przyszczers od bash uciekający z wątku?! To jak troll nie piszący spamu!
Albo to nie był przyszczers, albo ci się czytnik news zepsuł! ROTFL
slawek
-
27. Data: 2009-07-01 13:16:27
Temat: Re: Jaki shell już jest w Windows
Od: Mateusz Ludwin <n...@s...org>
slawek wrote:
> Przyszczers od bash uciekający z wątku?! To jak troll nie piszący spamu!
> Albo to nie był przyszczers, albo ci się czytnik news zepsuł! ROTFL
Było było. Na razie znalazłem posty gdzie 256 odszczekuje to co pisał o CMD ale
nie mogę znaleźć skryptów które go rozwaliły...
--
Mateusz Ludwin mateuszl [at] gmail [dot] com
-
28. Data: 2009-07-01 13:26:13
Temat: Re: Jaki shell już jest w Windows
Od: Mateusz Ludwin <n...@s...org>
Mateusz Ludwin wrote:
> slawek wrote:
>
>> Przyszczers od bash uciekający z wątku?! To jak troll nie piszący
>> spamu! Albo to nie był przyszczers, albo ci się czytnik news zepsuł!
>> ROTFL
>
> Było było. Na razie znalazłem posty gdzie 256 odszczekuje to co pisał o
> CMD ale nie mogę znaleźć skryptów które go rozwaliły...
Ha, znalazłem:
http://groups.google.pl/group/pl.pregierz/msg/aa041b
53b8a8fdaf?hl=pl
--
Mateusz Ludwin mateuszl [at] gmail [dot] com
-
29. Data: 2009-07-01 13:29:30
Temat: Re: Jaki shell już jest w Windows
Od: "slawek" <s...@h...pl>
Użytkownik "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>
napisał w wiadomości grup
dyskusyjnych:s...@d...im.pwr.wr
oc.pl...
> Siła shella (nie tylko basha) leży w narzędziach, które z niego można
I dodałbym - w tym że shell tak naprawdę jest po to, aby sklejać inne
programy - a ponieważ jest stosowany ad hoc, to nie może to być ciężkie,
tylko tak proste jak możliwe. W bash można pewnie bardzo wiele. Tyle że jak
mam coś nieco ambitniejszego - to sięgnę po awk. Bash łyknie to
bezproblemowo. Jak potrzebuję cos skompresować - to dlaczego nie zrobić to
np. zip-em - dokładnie w ten sam sposób jak robi się to ręcznie, tj.
wypisując na konsoli? Nie ma narzutów na uczenie się dokumentacji, na
dumanie o obiektach itp. sprawach mało ważnych (czyli na zajmowaniu się
narzędziami zamiast robotą do wykonania).
GUI+myszka to rewolucja. Ale przy tej rewolucji często zapomina się o
efektywności. Prosty przykład, z tzw. życia:
Jest trochę danych - pięćdziesiąt plików, w każdym po pięć kolumn liczb.
Trzeba je wykreślić na jednym wspólnym wykresie. Co się będzie działo? Ano
sięgamy po średnią półkę - Microcal Origin, cena jakieś marne kilkaset
dolarów. Duża kobyła, ale co tam - kilkaset dolarów to i nie dziwota że ma
paręset megabajtów. I że potrzebuje pięciu-sześciu patch'y. I co robimy?
Ano: click na "open", click na "file", parę clicków na dobranie się do
właściwego folderu i wybranie pliku, pozostaje jakieś "ok". Jeszcze trochę
klikania jeżeli nazwy kolumn w arkuszu chcemy mieć znaczące a nie A,B,C.
Wychodzi około 10 kliknięć na plik czyli 500 kliknięć na całość. I nadal
mamy problem - jak scalić te 50 plików (teraz już reprezentowanych przez
arkusze) w jeden. Acha... od którejś wersji Origina jest już lepiej - można
robić "open multiple files" - nadal mamy jednak odrębne arkusze. Tak czy
siak samo otwarcie danych to zajmuje około 1 godziny. Sic! Wykreślanie,
drukowanie - to kolejne setki kliknięć i czas tracony na prowadzenie
komputera "za rękę".
Oczywiście Origin jako kombajn ma wbudowany własny język LabTalk (a
począwszy od nowszych wersji to wbudowany kompilator niby-C i jeszcze
biblioteki numeryczne jakieś straszne). Są obiekty i można robić plug-iny.
Zrobienie prostego plug-inu czytającego dane wymaga przebrnięcia przez
dokumentację i zabierze dwa-trzy dni.
A tymczasem w Linuksie jest takie paste, prosty skrypt w bash plus sed plus
gnuplot - i mamy w zasadzie ten sam rezultat niekoniecznie dużo szybciej za
pierwszym razem (pewnie jedna, dwie godziny) - ale tak, że gdy będzie
kolejnych 50 plików, to odpalenie skryptu zajmie może 5 minut. Gdyby plików
było z jakiś tam powodów nie 50, a 5000 - cóż, trochę czasu - ale skrypt
pozostanie ten sam, a czas tracić będzie CPU a nie ja. Ręka odpoczywa, oczy
się nie męczą - oszczędzam sobie tysięcy, dziesiątków tysięcy kliknięć.
To jest moim zdaniem sens istnienia prostych rozwiązań w rodzaju bash.
slawek
-
30. Data: 2009-07-01 14:14:11
Temat: Re: Jaki shell ju? jest w Windows
Od: Jędrzej Dudkiewicz <j...@g...com>
slawek wrote:
>
> 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.
Jeżeli program "sobie zinterpretuje". O ile rozumiem PowerShell
(napisałem w nim jeden skrypt, pokazujący MessageBoxa) pozwala na
przekazywanie pełnoprawnych obiektów, z metodami i polami - nie musisz
się pier...ić (świadomie używam tego słowa, robiłem to wystarczająco
wiele razy i już mam dosyć) z parsowaniem tego, co dostajesz.
Zresztą, podany przez Wiktora link daje pojęcie, jakie są zalety.
JD