БистСмот Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° скрипти Π½Π° школка PaSh Π΅ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Π€ΠΎΠ½Π΄Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Linux

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ PaSh, кој Ρ€Π°Π·Π²ΠΈΠ²Π° Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° скрипти Π½Π° школка, најави Π΄Π΅ΠΊΠ° сС Π΄Π²ΠΈΠΆΠΈ ΠΏΠΎΠ΄ покровитСлство Π½Π° Π€ΠΎΠ½Π΄Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Linux, која ќС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ инфраструктура ΠΈ услуги Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈ Π·Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ дистрибуиран ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° MIT ΠΈ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π²ΠΎ Python, Shell, C ΠΈ OCaml.

PaSh Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° JIT ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€, Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅ΡšΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° со ΠΏΡ€ΠΈΠ±Π΅Π»Π΅ΡˆΠΊΠΈ:

  • Runtime ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π·Π±ΠΈΡ€ Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° скрипти.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со ΠΏΡ€ΠΈΠ±Π΅Π»Π΅ΡˆΠΊΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π·Π±ΠΈΡ€ Π½Π° ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° ΠΊΠΎΠΈ ΠΎΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ ситуации Π²ΠΎ ΠΊΠΎΠΈ Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π½Π°Ρ€Π΅Π΄Π±ΠΈ Π½Π° POSIX ΠΈ GNU Coreutils.
  • ΠšΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ вСднаш ја Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° Shell скрипта Π²ΠΎ апстрактно синтаксно Π΄Ρ€Π²ΠΎ (AST), Π³ΠΎ Π΄Π΅Π»ΠΈ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ Π²Ρ€Π· основа Π½Π° Π½ΠΈΠ² Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½ΠΎΠ²Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° скриптата, Ρ‡ΠΈΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ истоврСмСно. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π³ΠΈ Π·Π΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ ΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со ΠΏΡ€ΠΈΠ±Π΅Π»Π΅ΡˆΠΊΠΈ. Π’ΠΎ процСсот Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° сцСнариото, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ конструкции ΠΎΠ΄ Runtime сС Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚.

БистСмот Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° скрипти Π½Π° школка PaSh Π΅ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Π€ΠΎΠ½Π΄Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Linux

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, скрипта која ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° Π΄Π²Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ f1.md ΠΈ f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ | uniq | comm -13 dict.txt β€” > Π½Π°Π΄Π²ΠΎΡ€ ΠΌΠ°Ρ‡ΠΊΠ° Π½Π°Π΄Π²ΠΎΡ€ | wc -l | sed 's/$/ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ напишани Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ!/' Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ Π±ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π» Π΄Π²Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ послСдоватСлно:

БистСмот Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° скрипти Π½Π° школка PaSh Π΅ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Π€ΠΎΠ½Π΄Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Linux
ΠΈ ΠΊΠΎΠ³Π° ќС Π±ΠΈΠ΄Π΅ лансирана ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° PaSh, ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ симултано ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈ нишки, ΠΎΠ΄ ΠΊΠΎΠΈ сСкоја ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° сопствСна Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:
БистСмот Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° скрипти Π½Π° школка PaSh Π΅ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Π€ΠΎΠ½Π΄Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Linux


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

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