เปเบเบฐเบ„เบณเบชเบฑเปˆเบ‡ nushell เปƒเปเปˆเบ–เบทเบเบ™เบณเบชเบฐเป€เปœเบต

เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ›เปˆเบญเบเบซเบญเบเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ” nushell, เบชเบปเบกเบ—เบปเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ Power Shell เปเบฅเบฐเปเบเบฐ unix เบ„เบฅเบฒเบชเบชเบดเบ. เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Rust เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT. เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เปƒเบ™โ€‹เป€เบšเบทเป‰เบญเบ‡โ€‹เบ•เบปเป‰เบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ‚เป‰เบฒเบกโ€‹เป€เบงโ€‹เบ—เบตโ€‹เปเบฅเบฐโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš Windowsโ€‹, macOS เปเบฅเบฐ Linuxโ€‹. เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ เบ›เบฅเบฑเบเบญเบดเบ™, เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ”เบเบœเปˆเบฒเบ™ JSON-RPC protocol.

Shell เปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบ—เปเปˆเบ—เบตเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ Unix เปƒเบ™เบฎเบนเบšเปเบšเบš "เบ„เปเบฒเบชเบฑเปˆเบ‡|เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡|เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”". เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ autoview, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เปเบ•เปˆเบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบ–เบฒเบ™เบชเบญเบ‡เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰. เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบ‚เบญเบ‡ Nushell เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡.

Shell เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เปเบฅเบฐเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ, เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ arbitrary, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป‚เบ”เบเปƒเบŠเป‰ syntax เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฐเป€เบžเบฒเบฐ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, nushell เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบŠเบฑเปˆเบ™: โ€œls | เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เบฐเบซเบ™เบฒเบ”> 10kb" เปเบฅเบฐ "ps | เบšเปˆเบญเบ™เบ—เบตเปˆ cpu > 10", เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒ 10Kb เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒ 10 เบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU:

เปเบเบฐเบ„เบณเบชเบฑเปˆเบ‡ nushell เปƒเปเปˆเบ–เบทเบเบ™เบณเบชเบฐเป€เปœเบต

เปเบเบฐเบ„เบณเบชเบฑเปˆเบ‡ nushell เปƒเปเปˆเบ–เบทเบเบ™เบณเบชเบฐเป€เปœเบต

เป€เบžเบทเปˆเบญเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เปเป‰เบกเบนเบ™, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ add-ons เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบ›เบฐเป€เบžเบ”เป„เบŸเบฅเปŒ. add-ons เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ cd, ls, ps, cp, mkdir, mv, date, rm (เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ "^" เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป‚เบ—เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เป‚เบ—เบซเบฒ "^ls" เบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบง ls. เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš). เบเบฑเบ‡เบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบžเบดเป€เบชเบ”, เป€เบŠเบฑเปˆเบ™: เป€เบ›เบตเบ”เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบฅเบทเบญเบเปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบเบฒเบ™เปเบเบเบงเบดเป€เบ„เบฒเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบšเบฎเบนเบšเปเบšเบš JSON, TOML เปเบฅเบฐ YAML.

/home/jonathan/Source/nushell(master)> เป€เบ›เบตเบ” Cargo.toml

โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”
เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช | dev-dependencies | เบŠเบธเบ”
โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”
[object Object] | [object Object] | [เบงเบฑเบ”เบ–เบธเบชเบดเปˆเบ‡เบ‚เบญเบ‡] โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”

/home/jonathan/Source/nushell(master)> เป€เบ›เบตเบ” Cargo.toml | เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบŠเบธเบ”โ€‹

โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”
เบœเบนเป‰เบ‚เบฝเบ™ | เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ” | เบชเบฐเบšเบฑเบš | เปƒเบšโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ” | เบŠเบทเปˆ | เบชเบฐเบšเบฑเบš
โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”
[เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ] | เปเบเบฐเบชเปเบฒเบฅเบฑเบšเบเบธเบ GitHub | 2018 | MIT | เบ™เบน | 0.2.0
โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”

/home/jonathan/Source/nushell(master)> เป€เบ›เบตเบ” Cargo.toml | เป„เบ”เป‰โ€‹เบฎเบฑเบš package.version | เบชเบฐเบ—เป‰เบญเบ™ $it

0.2.0

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบซเบฅเบฒเบเบซเบฅเบฒเบเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบฑเปˆเบ™เบ•เบญเบ‡เปเบ–เบง, เบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ–เบฑเบ™, เบชเบฐเบซเบผเบธเบšเบ‚เปเป‰เบกเบนเบ™, เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เปเบฒเบ™เบงเบ™เบ‡เปˆเบฒเบเป†, เปƒเบŠเป‰เบ•เบปเบงเบ™เบฑเบšเบกเบนเบ™เบ„เปˆเบฒเปเบฅเบฐเบ›เปˆเบฝเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš CSV, JSON, TOML เปเบฅเบฐ YAML. เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ (เบ‚เปเป‰เบ„เบงเบฒเบก), เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ–เบฑเบ™เปเบฅเบฐเปเบ–เบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบ‚เบฑเป‰เบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™