ΠΡΠΎΠ΅ΠΊΡ PaSh, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ shell-ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΎΠ±ΡΡΠ²ΠΈΠ» ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡΠΎΠ²ΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Linux Foundation, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ°Ρ Python, Shell, C ΠΈ OCaml.
PaSh Π²ΠΊΠ»ΡΡΠ°Π΅Ρ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, runtime ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ:
- Runtime ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΠΈΡΠΏΡΠΎΠ².
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ², ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ POSIX ΠΈ GNU Coreutils.
- ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π° Π»Π΅ΡΡ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Shell-ΡΠΊΡΠΈΠΏΡ Π² Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ (AST), ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠ°ΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ, Π±Π΅ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΊΡΠΈΠΏΡΠ° Π² ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· Runtime.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΡΠΈΠΏΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° f1.md ΠΈ f2.md cat f1.md f2.md | tr A-Z a-z | tr -cs A-Za-z ‘\n’ | sort | uniq | comm -13 dict.txt — > out cat out | wc -l | sed ‘s/$/ mispelled words!/’ Π² ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru