์ ์คํฌ๋ฆฝํธ์ ๋ณ๋ ฌ ์คํ์ ์ํ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ๋ PaSh ํ๋ก์ ํธ๋ ๊ฐ๋ฐ์ ๊ณ์ํ๋ ๋ฐ ํ์ํ ์ธํ๋ผ์ ์๋น์ค๋ฅผ ์ ๊ณตํ Linux Foundation์ ํ์์ผ๋ก ์งํ๋๊ณ ์๋ค๊ณ ๋ฐํํ์ต๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ฉฐ Python, Shell, C ๋ฐ OCaml์ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํฉ๋๋ค.
PaSh์๋ JIT ์ปดํ์ผ๋ฌ, ๋ฐํ์ ๋ฐ ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- ๋ฐํ์์ ์คํฌ๋ฆฝํธ์ ๋ณ๋ ฌ ์คํ์ ์ง์ํ๋ ๊ธฐ๋ณธ ์์ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ณ POSIX ๋ฐ GNU Coreutils ๋ช ๋ น์ ๋ณ๋ ฌํ๊ฐ ํ์ฉ๋๋ ์ํฉ์ ์ค๋ช ํ๋ ์์ฑ ์งํฉ์ ์ ์ํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ๋ ์ฆ์์์ ์ ์๋ ์ ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ(AST)๋ก ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ์ด๋ฅผ ๋ณ๋ ฌ ์คํ์ ์ ํฉํ ์กฐ๊ฐ์ผ๋ก ๋๋๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฒ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฑํ๋ฉฐ ๊ทธ ์ผ๋ถ๋ ๋์์ ์คํ๋ ์ ์์ต๋๋ค. ๋ณ๋ ฌํ๋ฅผ ํ์ฉํ๋ ๋ช ๋ น์ ๋ํ ์ ๋ณด๋ ์ปดํ์ผ๋ฌ๊ฐ ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ฐ์ ธ์ต๋๋ค. ์คํฌ๋ฆฝํธ์ ๋ณ๋ ฌ ์คํ ๋ฒ์ ์ ์์ฑํ๋ ๊ณผ์ ์์ ๋ฐํ์์ ์ถ๊ฐ ๊ตฌ์ฑ์ด ์ฝ๋์ ์ฝ์ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด 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 | ํ์ฅ์ค -l | sed 's/$/ ์ฒ ์๊ฐ ํ๋ฆฐ ๋จ์ด!/'๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ํ์ผ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
์ถ์ฒ : opennet.ru