PowerShell soremeléstelenítése

 ( lx | 2011. május 11., szerda - 14:52 )

Külföldiül beszélő fórumokból sejtem a választ, de még nem igazán hiszem el: a PS a 2.0-ás verziónál járva nem ad olyan lehetőséget, hogy a stdoutra soremelés nélkül írjon az ember, illetve, ha tud, azt csak .NET-es ágyúk veréb elleni bevetésével?

Nagyra értékelném, ha valaki többet tudna, mint mindannyiunk barátja. Ez így felidézi azt a hajdanvolt időt, amikor hátat fordítottam a wines kultúrának.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

ilyesmire gondolsz?


PS C:\Users\notforyoureyes> write-host -NoNewLine
PS C:\Users\notforyoureyes>
PS C:\Users\notforyoureyes> $var=3
PS C:\Users\notforyoureyes>
PS C:\Users\notforyoureyes> $var2=4
PS C:\Users\notforyoureyes>
PS C:\Users\notforyoureyes> write-host $var $var2
3 4

Köszi, de a write-host a konzolra, és nem a stdoutra ír, így a szokásos junikszi értelemben hasznavehetetlen.

> write-host "semmi" > semmi
semmi
> dir semmi

Mode LastWriteTime Length Name
---- ------------- ------ ----
----- 5/11/2011 4:14 PM 0 semmi

és tényleg...
én értettem félre a kérdést, sorry

Oh, ne! Köszi, hogy segíteni próbáltál! :)

A végsőnek szánt kimenet egy sztringbe konkatenálásával természetesen megoldható, amit egymás utáni írásokkal szerettem volna megoldani, de maga a felállás, hogy egy, a nevében SZKRIPTNYELVEN ilyen banális feladatra "rendszerhívást" kelljen előkapni, mert MS-ék pontosan tudják, hogy aki kiírni akar, az mindig sort is akar emelni, és aki mégsem, az már olyan advanced, hogy dotnet nélkül klausztrofóbiája van, szóval ez olyan _JELLEMZŐ_.

Meg csak nem is bonyolult a megoldas...

[System.Console]::Write("Test")

Inkabb az atiranyitas, amit nem tudok, hogy hogy lehet... Normal .Net-ben ugyanis a fenti stdout-ra ir - asszem.

--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal

"Meg csak nem is bonyolult a megoldas..."

Tényleg nem bonyolult, csak nem megoldás, pont azért nem, mert nem stdout - effektíve ugyanaz, mint a write-host, csak annál azért mégis bonyolultabb.

A segítő szándékot azért értékelem. :)

(Azért az, hogy minimális a próbálkozók száma, és azok által is az ismert, ami nem az igazi, megerősíti azt a balsejtelmet, hogy a külföldiül beszélő fórumokon nem tévedtek. -- FEJLÖVÉS :( )

Ahogy en erzekelem, ez inkabb valami koncepcionalis gond.
Eleve, ugye, PS-nel azert nincs olyan, hogy stdout, mert a parancsok, amiket leutsz, ha nem sima exe parancsok, akkor nem stringgel, hanem objektummal ternek vissza. A PS-nek ugyan van egyfajta reprezentacioja ra, de ettol azok meg objektumok maradnak. Van egy out-string es egy out-file nevu cucc, amivel elvben lehetne fajlba meg stingbe irogatni, de ahogy elneztem, ezek is entert utnek a sor vegen, fuggetlen attol, hogy te mit szeretnel.

A PS a konzolt egyfajta korlatozott GUI-nak tekinti csak, es ha jol sejtem, nem is kozveltenul ir ki a terminalra, mert akkor nem tudna szines lenni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal

objektumok, meg egyszerűség konzolon, na az ilyen koncepciók miatt hagytam én is el ezt a very advanced rendszert. :)

(sub)

En pont ezert kedvelem, mert nem kell regex-szekkel kinlodni, hogy ertelmesen feldolgozzak mittudom en egy szolgaltatas listat.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal

Jó az, ha valamilyen lista feldolgozása során literálisan ismert értékekre tudsz szűrni, de kétlem, hogy ez volna a gyakoribb. Ha pedig nem ismered konkrét mintát, akkor akár glob, akár regexp, de jönni fog, nemszeretés esetén is.
Talán nem véletlen, hogy a "nemtextes" PS is ki van okosítva ezekre.

Ezt mind elfogadnám, de a write-output nagyon is stdoutra ír, szépen átirányíthatóan, és az implicit kiíratás, meg a -f is.

Csak mindegyik azt gondolja, hogy neki mindenképpen sort is kell emelnie, mert milyen sci-fi már az, hogy valaki nem új sorba ír valamit, ha már egyszer írt eélőtte. Kivéve persze, ha konzolról van szó, ezért a write-host tudja azt, amit a write-output pl. nem.

Bocs a cinizmusért, természetesen nem a jelenlévőknek szól - csak az az érzésem, hogy a "koncepcionális probléma" közelebbről azt jelenti, hogy itt-ott nincs koncepció, csak a szokásos nagyot akarás.

Nem az újsorok témájához tartozik, de ez a koncepciótlanság talán ott érhető tetten látványosabban, hogy a rendszerhez, amely AD nélkül nincs meg, úgy adják az _adminisztációs célra_ szánt shellt, hogy az AD kezelés a 3. oldali Quest free csomagjának letöltése és telepítése nélkül sírás és fogaknak tsikorgatása. Rendben, sztringekkel úgyis csak a hülye junikszosok szórakoznak, de a rekurzív csoportok és a felhasználók problémáival tán még a Winonly medált elnyertek is találkozgatnak.