Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²ΡΡΠ½Π°Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Unix ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ «ΠΊΠΎΠΌΠ°Π½Π΄Π°|ΡΠΈΠ»ΡΡΡΡ|ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ²ΠΎΠ΄Π°». ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ autoview, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Π‘ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ nushell ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΡΠΌΠ»ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, nushell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ «ls | where size > 10kb» ΠΈ «ps | where cpu > 10», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠ΅ 10Kb ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ 10 ΡΠ΅ΠΊΡΠ½Π΄ ΡΠ΅ΡΡΡΡΠΎΠ² CPU:
ΠΠ»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ΄ Π½Π°Π΄ΡΡΡΠΎΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ cd, ls, ps, cp, mkdir, mv, date, rm (Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ «^», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ² «^ls» ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ls). ΠΠΌΠ΅ΡΡΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ open Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠ² JSON, TOML ΠΈ YAML ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ.
/home/jonathan/Source/nushell(master)> open Cargo.toml
——————+——————+——————
dependencies | dev-dependencies | package
——————+——————+——————
[object Object] | [object Object] | [object Object]
——————+——————+——————
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
————-+—————————-+———+———+——+———
authors | description | edition | license | name | version
————-+—————————-+———+———+——+———
[list List] | A shell for the GitHub era | 2018 | MIT | nu | 0.2.0
————-+—————————-+———+———+——+———
/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
0.2.0
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΡΡΠ΅ΠΈΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ, ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΡΠΈΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ°ΡΡ CSV, JSON, TOML ΠΈ YAML. ΠΠ»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΡΠ΅ΠΊΡΡΠ°) ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru