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

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ PaSh, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° инструмСнти Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° шСл скриптовС, обяви, Ρ‡Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΠΎΠ΄ Π΅Π³ΠΈΠ΄Π°Ρ‚Π° Π½Π° Linux Foundation, която Ρ‰Π΅ осигури инфраструктурата ΠΈ услугитС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π² Python, Shell, C ΠΈ OCaml.

PaSh Π²ΠΊΠ»ΡŽΡ‡Π²Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€, срСда Π·Π° изпълнСниС ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ:

  • Runtime прСдоставя Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° скриптовС.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° с Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ свойства, ΠΊΠΎΠΈΡ‚ΠΎ описват ситуации, Π² ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ POSIX ΠΈ GNU Coreutils ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
  • ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° прСдлоТСния скрипт Π½Π° Shell Π² абстрактно синтактично Π΄ΡŠΡ€Π²ΠΎ (AST), Ρ€Π°Π·Π±ΠΈΠ²Π° Π³ΠΎ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ, подходящи Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС, ΠΈ въз основа Π½Π° тях Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½ΠΎΠ²Π° вСрсия Π½Π° скрипта, части ΠΎΡ‚ която ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅, сС Π²Π·Π΅ΠΌΠ° ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° с Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. Π’ процСса Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° вСрсия Π½Π° скрипта, Π² ΠΊΠΎΠ΄Π° сС Π²ΠΌΡŠΠΊΠ²Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ конструкции ΠΎΡ‚ Runtime.

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

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

БистСмата Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° шСл скриптовС PaSh ΠΈΠ΄Π²Π° ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Linux Foundation
ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС стартира ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° PaSh, Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΄Π²Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ изпълнСни нишки, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° свой собствСн Ρ„Π°ΠΉΠ»:
БистСмата Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° шСл скриптовС PaSh ΠΈΠ΄Π²Π° ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Linux Foundation


Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€