Π’ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° школка nushell

објавСно ΠΏΡ€Π²ΠΎΡ‚ΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° школка Π»ΡƒΡˆΠΏΠ°, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ˜ΡœΠΈ Π³ΠΈ моТноститС Π½Π° Power Shell ΠΈ класичната unix школка. ΠšΠΎΠ΄ΠΎΡ‚ Π΅ напишан Π²ΠΎ Rust ΠΈ дистрибуирани ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π° МИВ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ Π΅ Ρ€Π°Π·Π²ΠΈΠ΅Π½ ΠΊΠ°ΠΊΠΎ крос-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Windows, macOS ΠΈ Linux. МоТС Π΄Π° сС користи Π·Π° ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° функционалноста ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со која сС Π²Ρ€ΡˆΠΈ ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ JSON-RPC.

Π¨ΠΊΠΎΠ»ΠΊΠ°Ρ‚Π° користи Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄Π΅Π½ систСм ΠΏΠΎΠ·Π½Π°Ρ‚ Π½Π° корисницитС Π½Π° Unix Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€žcommand|filters|output handlerβ€œ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ, ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ сС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π° со помош Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° autoview, која користи Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Ρ‚Π°Π±Π΅Π»Π°, Π½ΠΎ исто Ρ‚Π°ΠΊΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС користат ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ ΠΏΡ€ΠΈΠΊΠ°Π· Π½Π° Π΄Ρ€Π²ΠΎ. Π‘ΠΈΠ»Π°Ρ‚Π° Π½Π° Nushell Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° способност Π΄Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π° со структурирани ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π¨ΠΊΠΎΠ»ΠΊΠ°Ρ‚Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ структуриратС ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ содрТината Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ ΠΈ Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈ сС Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ΠΈ со ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° синтакса која Π½Π΅ Π±Π°Ρ€Π° ΡƒΡ‡Π΅ΡšΠ΅ Π½Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија Π½Π° сСкоја спСцифична ΠΊΠΎΠΌΠ°Π½Π΄Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, nushell Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° конструкции ΠΊΠ°ΠΊΠΎ β€žls | ΠΊΠ°Π΄Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° > 10kbβ€œ ΠΈ β€žps | ΠΊΠ°Π΄Π΅ процСсорот > 10β€œ, ΡˆΡ‚ΠΎ ќС Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со ΠΈΠ·Π»Π΅Π· само Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ΄ 10 Kb ΠΈ процСси ΠΊΠΎΠΈ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΠΈΠ»Π΅ повСќС ΠΎΠ΄ 10 сСкунди ΠΎΠ΄ рСсурситС Π½Π° процСсорот:

Π’ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° школка nushell

Π’ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° школка nushell

Π—Π° ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, сС користат Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Π΄ΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΠΈ Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ ΠΎΠ΄ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π‘Π»ΠΈΡ‡Π½ΠΈ Π΄ΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ сС Π½ΡƒΠ΄Π°Ρ‚ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ cd, ls, ps, cp, mkdir, mv, date, rm (прСфиксот β€ž^β€œ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠ°Ρ˜Ρ‡ΠΈΠ½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° β€ž^lsβ€œ ќС Π³ΠΎ стартува ls систСмска Π°Π»Π°Ρ‚ΠΊΠ°). ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΠΊΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎ Π·Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ€Π½Π° Ρ„ΠΎΡ€ΠΌΠ°. Автоматското ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅ Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ΠΎ Π·Π° JSON, TOML ΠΈ YAML Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ.

/home/jonathan/Source/nushell(master)> ΠΎΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Cargo.toml

β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”β€”
зависности | dev-зависности | ΠΏΠ°ΠΊΠ΅Ρ‚
β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”β€”
[ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ ΠžΠ±Ρ˜Π΅ΠΊΡ‚] | [ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ ΠžΠ±Ρ˜Π΅ΠΊΡ‚] | [ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ ΠžΠ±Ρ˜Π΅ΠΊΡ‚] β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”+β€”β€”β€”β€”β€”β€”β€”

/home/jonathan/Source/nushell(master)> ΠΎΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Cargo.toml | Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚

β€”β€”β€”β€”-+β€”β€”β€”β€”β€”β€”β€”β€”β€”-+β€”β€”β€”+β€”β€”β€”+β€”β€”+β€”β€”β€”β€”
Π°Π²Ρ‚ΠΎΡ€ΠΈ | опис | ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ | Π»ΠΈΡ†Π΅Π½Ρ†Π° | ΠΈΠΌΠ΅ | Π²Π΅Ρ€Π·ΠΈΡ˜Π°
β€”β€”β€”β€”-+β€”β€”β€”β€”β€”β€”β€”β€”β€”-+β€”β€”β€”+β€”β€”β€”+β€”β€”+β€”β€”β€”β€”
[Бписок Π½Π° список] | Π¨ΠΊΠΎΠ»ΠΊΠ° Π·Π° Π΅Ρ€Π°Ρ‚Π° Π½Π° GitHub | 2018 | МИВ | nu | 0.2.0
β€”β€”β€”β€”-+β€”β€”β€”β€”β€”β€”β€”β€”β€”-+β€”β€”β€”+β€”β€”β€”+β€”β€”+β€”β€”β€”β€”

/home/jonathan/Source/nushell(master)> ΠΎΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Cargo.toml | добиј ΠΏΠ°ΠΊΠ΅Ρ‚.Π²Π΅Ρ€Π·ΠΈΡ˜Π° | Π΅Ρ…ΠΎ $ it

0.2.0

ОбСзбСдСни сС ΡˆΠΈΡ€ΠΎΠΊ опсСг Π½Π° инструкции Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° структурирани ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²ΠΈ, Π΄Π° ΠΏΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°Ρ‚Π΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Π΄Π° сумиратС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π΄Π° Π²Ρ€ΡˆΠΈΡ‚Π΅ Сдноставни прСсмСтки, Π΄Π° користитС Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ Π½Π° врСдности ΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ CSV, JSON, TOML ΠΈ YAML. Π—Π° нСструктурирани ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (тСкст), Π΄Π°Π΄Π΅Π½ΠΈ сС инструкции Π·Π° дСлСњС Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ Ρ€Π΅Π΄ΠΎΠ²ΠΈ Π²Ρ€Π· основа Π½Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°Ρ‡ΠΊΠΈ Π·Π½Π°Ρ†ΠΈ.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€