์ƒˆ๋กœ์šด Nushell ๋ช…๋ น ์…ธ ๋„์ž…

๊ฒŒ์‹œ ๋จ ์ฒซ ๋ฒˆ์งธ ์‰˜ ๋ฆด๋ฆฌ์Šค ๋ˆ„์‰˜, Power Shell๊ณผ ํด๋ž˜์‹ Unix ์‰˜์˜ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์— ํฌ๋กœ์Šค ํ”Œ๋žซํผ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ Windows, macOS ๋ฐ Linux์—์„œ์˜ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ, JSON-RPC ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ƒํ˜ธ ์ž‘์šฉ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์…ธ์€ "command|filters|output handler" ํ˜•์‹์œผ๋กœ Unix ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ์ˆ™ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ถœ๋ ฅ์€ ํ…Œ์ด๋ธ” ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋Š” autoview ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜•์‹ํ™”๋˜์ง€๋งŒ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ง„ ๋ฐ์ดํ„ฐ ๋ฐ ์ •๋ณด๋ฅผ ํŠธ๋ฆฌ ๋ณด๊ธฐ์— ํ‘œ์‹œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Nushell์˜ ๊ฐ•์ ์€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค.

์…ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๋ช…๋ น์˜ ์ถœ๋ ฅ๊ณผ ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ตฌ์กฐํ™”ํ•˜๊ณ , ๊ฐ ํŠน์ • ๋ช…๋ น์˜ ๋ช…๋ น์ค„ ์˜ต์…˜์„ ๋ฐฐ์šธ ํ•„์š”๊ฐ€ ์—†๋Š” ํ†ตํ•ฉ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค๊ณ„๋œ ์ž„์˜์˜ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด nushell์€ โ€œls | ์—ฌ๊ธฐ์„œ ํฌ๊ธฐ > 10kb" ๋ฐ "ps | ์—ฌ๊ธฐ์„œ cpu > 10"์ด๋ฉด 10Kb๋ณด๋‹ค ํฐ ํŒŒ์ผ๊ณผ 10์ดˆ ์ด์ƒ์˜ CPU ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด Nushell ๋ช…๋ น ์…ธ ๋„์ž…

์ƒˆ๋กœ์šด Nushell ๋ช…๋ น ์…ธ ๋„์ž…

๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ๋ช…๋ น ๋ฐ ํŒŒ์ผ ์œ ํ˜•์˜ ์ถœ๋ ฅ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. cd, ls, ps, cp, mkdir, mv, date, rm ๋ช…๋ น์— ๋Œ€ํ•ด ์œ ์‚ฌํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(์ ‘๋‘์‚ฌ "^"๋Š” ๊ธฐ๋ณธ ๋ช…๋ น์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "^ls"๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ls๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค) ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ). ์„ ํƒํ•œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ‘œ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” open๊ณผ ๊ฐ™์€ ํŠน์ˆ˜ ๋ช…๋ น๋„ ์žˆ์Šต๋‹ˆ๋‹ค. JSON, TOML ๋ฐ YAML ํ˜•์‹์— ๋Œ€ํ•ด ์ž๋™ ๊ตฌ๋ฌธ ๋ถ„์„์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

/home/jonathan/Source/nushell(๋งˆ์Šคํ„ฐ)> Cargo.toml ์—ด๊ธฐ

โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”
์ข…์†์„ฑ | ๊ฐœ๋ฐœ ์ข…์†์„ฑ | ํŒจํ‚ค์ง€
โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”
[๊ฐ์ฒด ๊ฐ์ฒด] | [๊ฐ์ฒด ๊ฐ์ฒด] | [๊ฐ์ฒด ๊ฐ์ฒด] โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”+โ€”โ€”โ€”โ€”โ€”โ€”

/home/jonathan/Source/nushell(master)> Cargo.toml ์—ด๊ธฐ | ํŒจํ‚ค์ง€ ๋ฐ›๊ธฐ

โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”+โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”
์ž‘๊ฐ€ | ์„ค๋ช… | ํŒ | ๋ผ์ด์„ผ์Šค | ์ด๋ฆ„ | ๋ฒ„์ „
โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”+โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”
[๋ชฉ๋ก ๋ชฉ๋ก] | GitHub ์‹œ๋Œ€๋ฅผ ์œ„ํ•œ ์‰˜ | 2018 | MIT | ๋ˆ„ | 0.2.0
โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-+โ€”โ€”โ€”+โ€”โ€”โ€”+โ€”โ€”+โ€”โ€”โ€”

/home/jonathan/Source/nushell(master)> Cargo.toml ์—ด๊ธฐ | package.version ๊ฐ€์ ธ์˜ค๊ธฐ | ์—์ฝ” $it

0.2.0

๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง์„ ์œ„ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์ง€์นจ์ด ์ œ๊ณต๋˜๋ฏ€๋กœ ํ–‰ ํ•„ํ„ฐ๋ง, ์—ด ๊ธฐ์ค€ ์ •๋ ฌ, ๋ฐ์ดํ„ฐ ์š”์•ฝ, ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ ์ˆ˜ํ–‰, ๊ฐ’ ์นด์šดํ„ฐ ์‚ฌ์šฉ, ์ถœ๋ ฅ์„ CSV, JSON, TOML ๋ฐ YAML ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์กฐํ™”๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ(ํ…์ŠคํŠธ)์˜ ๊ฒฝ์šฐ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—ด๊ณผ ํ–‰์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ง€์นจ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€