เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ PaSh shell script เปเบกเปˆเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบกเบนเบ™เบ™เบดเบ—เบด Linux

เป‚เบ„เบ‡เบเบฒเบ™ PaSh, เป€เบŠเบดเปˆเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ shell scripts, เป„เบ”เป‰เบ›เบฐเบเบฒเบ”เบงเปˆเบฒเบกเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเป„เบ›เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบญเบธเบ›เบฐเบ–เปเบฒเบ‚เบญเบ‡ Linux Foundation, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบชเบทเบšเบ•เปเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT เปเบฅเบฐเบ›เบฐเบเบญเบšเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบ™ Python, Shell, C เปเบฅเบฐ OCaml.

PaSh เบ›เบฐเบเบญเบšเบกเบต JIT compiler, runtime เปเบฅเบฐ annotation library:

  • Runtime เปƒเบซเป‰เบŠเบธเบ”เบ‚เบญเบ‡ primitives เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ scripts.
  • เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ„เปเบฒเบšเบฑเบ™เบเบฒเบเบเปเบฒเบ™เบปเบ”เบŠเบธเบ”เบ‚เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ POSIX เปเบฅเบฐ GNU Coreutils เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰.
  • compiler เปƒเบ™ fly parses เบชเบฐเบ„เบดเบš Shell เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเป‰เบ™เป„เบกเป‰ syntax เบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™ (AST), เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™ fragments เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™, เปเบฅเบฐเบญเบตเบ‡เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡เบชเบฐเบ„เบดเบš, เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบžเป‰เบญเบกเป†เบเบฑเบ™. เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เป€เบญเบปเบฒโ€‹เป‚เบ”เบ compiler เบˆเบฒเบโ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ” annotationโ€‹. เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ script เบชเบฐเบšเบฑเบšเปเบฅเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ™, เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฒเบ Runtime เปเบกเปˆเบ™เปƒเบชเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”.

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ PaSh shell script เปเบกเปˆเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบกเบนเบ™เบ™เบดเบ—เบด Linux

เบ•เบปเบงเบขเปˆเบฒเบ‡, script เบ—เบตเปˆเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบชเบญเบ‡เป„เบŸเบฅเปŒ f1.md เปเบฅเบฐ f2.md cat f1.md f2.md | tr A-Z a-z | tr -cs A-Za-z โ€˜\nโ€™ | เบ„เบฑเบ” | uniq | comm -13 dict.txt โ€”> cat out | wc -l | sed 's/$/ เบ„เปเบฒเบชเบฐเบเบปเบ”เบœเบดเบ”!/' เบ›เบปเบเบเบฐเบ•เบดเบˆเบฐเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบชเบญเบ‡เป„เบŸเบฅเปŒเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš:

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ PaSh shell script เปเบกเปˆเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบกเบนเบ™เบ™เบดเบ—เบด Linux
เปเบฅเบฐเป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เบ•เบปเบงเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡ PaSh, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบชเบญเบ‡เบเบฐเบ—เบนเป‰เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเป‰เบญเบกเป†เบเบฑเบ™, เปเบ•เปˆเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡:
เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ PaSh shell script เปเบกเปˆเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบกเบนเบ™เบ™เบดเบ—เบด Linux


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

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