Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ jruby ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
์ฃผ๋ฃจ๋น โ ํด์๋ ๊ฐ์ฒด ์งํฅ ์คํฌ๋ฆฝํ ์ธ์ด
๊ฐ์
์ฃผ๋ฃจ๋น [--์ ์๊ถ] [--๋ฒ์ญ] [-Sacdlnpswvy] [-0[XNUMX ์ง์]] [-C ์๋ฐฐ ๊ท์น์] [-F ๋ฌด๋ฌ]
[-I ์๋ฐฐ ๊ท์น์] [-K c] [-T[์ํ]] [-e ๋ช ๋ น] [-i[ํ์ฅ์]] [-r ๋์๊ด]
[-x[์๋ฐฐ ๊ท์น์]] [--] [ํ๋ก๊ทธ๋จ_ํ์ผ] [๋ ผ์ ...]
๊ธฐ์
Jruby๋ ๋ฒ์ญ๋ ์คํฌ๋ฆฝํธ ์ธ์ด์ธ Ruby๋ฅผ 100% ์์ Java๋ก ๊ตฌํํ ๊ฒ์ ๋๋ค.
๋น ๋ฅด๊ณ ์ฌ์ด ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ. ํ ์คํธ ํ์ผ์ ์ฒ๋ฆฌํ๋ ๋ฐ ๋ง์ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ
Perl์์์ ๊ฐ์ด ์์คํ ๊ด๋ฆฌ ์์ ์ ์ํํฉ๋๋ค. ๊ฐ๋จํ๊ณ ๊ฐ๋จํ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
์ต์
Ruby ์ธํฐํ๋ฆฌํฐ๋ ๋ค์ ๋ช ๋ น์ค ์ต์ (์ค์์น)์ ํ์ฉํฉ๋๋ค. ๊ทธ๋ค์ ๊ฝค ๋น์ทํฉ๋๋ค
๊ทธ๋ค์๊ฒ ํ(1).
--์ ์๊ถ ์ ์๊ถ ํ์๋ฅผ ์ธ์ํฉ๋๋ค.
--๋ฒ์ญ Ruby ์ธํฐํ๋ฆฌํฐ์ ๋ฒ์ ์ ์ธ์ํฉ๋๋ค.
-0[XNUMX ์ง์] (์ซ์ "XNUMX".) ์ ๋ ฅ ๋ ์ฝ๋ ๊ตฌ๋ถ ๊ธฐํธ($/)๋ฅผ XNUMX์ง์๋ก ์ง์ ํฉ๋๋ค.
์ซ์. ์ซ์๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด ๋ ๋ฌธ์๊ฐ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ค๋ฅธ ์ค์์น๋ ์ซ์๋ฅผ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. -00 Ruby๋ฅผ ๋จ๋ฝ ๋ชจ๋๋ก ๋ฐ๊ฟ๋๋ค.
-0777 Ruby๊ฐ ์ ์ฒด ํ์ผ์ ํ ๋ฒ์ ๋จ์ผ ๋ฌธ์์ด๋ก ์ฝ๊ฒ ํฉ๋๋ค.
ํด๋น ๊ฐ์ ๊ฐ์ง ๋ฒ์ ์ฑ๊ฒฉ.
-C ์๋ฐฐ ๊ท์น์ Ruby๊ฐ ๋๋ ํ ๋ฆฌ๋ก ์ ํํ๋๋ก ํฉ๋๋ค.
-F ๋ฌด๋ฌ ์ ๋ ฅ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ($;)๋ฅผ ์ง์ ํฉ๋๋ค.
-I ์๋ฐฐ ๊ท์น์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํฌ๋ฆฝํธ๋ฅผ ๋ก๋ํ ์์น๋ฅผ Ruby์ ์๋ ค์ฃผ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋
๋ก๋ ๊ฒฝ๋ก ๋ณ์($:)์ ์ถ๊ฐ๋ฉ๋๋ค.
-K k์ฝ๋ KANJI(์ผ๋ณธ์ด) ์ธ์ฝ๋ฉ์ ์ง์ ํฉ๋๋ค.
-S Ruby๊ฐ PATH ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฒ์ํ๋๋ก ํฉ๋๋ค.
์ด๋ฆ์ ์ฌ๋์๋ก ์์๋ฉ๋๋ค. ์ด๊ฒ์ #!์ ์๋ฎฌ๋ ์ดํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๊ณ์์
๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ง์ํ์ง ๋ง์ญ์์ค.
#! /usr/local/bin/๋ฃจ๋น
# ์ด ์ค์ ๋ค์ ์ค์ Ruby์์ ์ฃผ์์ผ๋ก ๋ง๋ญ๋๋ค. \
๊ฐ๋ถ /usr/local/bin/ruby -S $0 $*
-T[์ํ] ์ง์ ๋ ์์ค(๊ธฐ๋ณธ๊ฐ 1)์์ ์ค์ผ ๊ฒ์ฌ๋ฅผ ์ผญ๋๋ค.
-a ์ ํจ๊ป ์ฌ์ฉํ ๋ ์๋ ๋ถํ ๋ชจ๋๋ฅผ ์ผญ๋๋ค. -n or -p. ์๋ ๋ถํ ๋ชจ๋์์ Ruby
์คํ
$F = $_.๋ถํ
๊ฐ ๋ฃจํ์ ์์ ๋ถ๋ถ์์.
-c Ruby๊ฐ ์คํฌ๋ฆฝํธ์ ๊ตฌ๋ฌธ์ ํ์ธํ๊ณ ์คํํ์ง ์๊ณ ์ข ๋ฃํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์
๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ์์ผ๋ฉด Ruby๋ ํ์ค์ "Syntax OK"๋ฅผ ์ธ์ํฉ๋๋ค.
์ถ๋ ฅ.
-d
-๋๋ฒ๊ทธ ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ์ผญ๋๋ค. $DEBUG๋ true๋ก ์ค์ ๋ฉ๋๋ค.
-e ๋ช ๋ น ๋๋จธ์ง๋ ๊ฒ์ํ์ง ์๋๋ก Ruby์ ์ง์ํ๋ฉด์ ๋ช ๋ น์ค์์ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ํฉ๋๋ค.
์คํฌ๋ฆฝํธ ํ์ผ ์ด๋ฆ์ ๋ํ ์ธ์์ ๋๋ค.
-h
--๋์ ์ต์ ์์ฝ์ ์ธ์ํฉ๋๋ค.
-i ํ์ฅ์ ๋ด๋ถ ํธ์ง ๋ชจ๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ฅ์๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ ์ด์ ํญ๋ชฉ์ ์ถ๊ฐ๋ฉ๋๋ค.
๋ฐฑ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๊ธฐ ์ํ ํ์ผ ์ด๋ฆ. ์๋ฅผ ๋ค์ด:
% echo matz > /tmp/junk
% ๊ณ ์์ด /tmp/์ ํฌ
Matz
% ruby โโ-p -i.bak -e '$_.upcase!' /tmp/์ ํฌ
% ๊ณ ์์ด /tmp/์ ํฌ
๋ง์ธ
% ๊ณ ์์ด /tmp/junk.bak
Matz
-l (์๋ฌธ์ "ell".) ์๋ ์ค ๋ ์ฒ๋ฆฌ๋ฅผ ํ์ฑํํฉ๋๋ค.
์ด๋ ๋จผ์ $\๋ฅผ $/์ ๊ฐ์ผ๋ก ์ค์ ํ๊ณ ๋ ๋ฒ์งธ๋ก ๋ชจ๋
์ ๋จ์ ์ฌ์ฉํ์ฌ ๋ผ์ธ ์ฝ๊ธฐ!.
-n Ruby๊ฐ ์คํฌ๋ฆฝํธ ์ฃผ์์ ๋ค์ ๋ฃจํ๋ฅผ ๊ฐ์ ํ๋๋ก ํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํ์ผ ์ด๋ฆ ์ธ์๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. SED -n or AWK.
๋์
...
end
-p -n ์ค์์น์ ๊ฑฐ์ ๋์ผํ๊ฒ ์๋ํ์ง๋ง ๊ฐ ์์น์ ๋ณ์ $_์ ๊ฐ์ ์ธ์ํฉ๋๋ค.
๋ฃจํ์ ๋. ์๋ฅผ ๋ค์ด:
% ์์ฝ ๋งคํธ | ๋ฃจ๋น -p -e '$_.tr! "์์ฆ", "์์ฆ"'
๋ง์ธ
-r ๋์๊ด Ruby๊ฐ require๋ฅผ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํ๋๋ก ํฉ๋๋ค. ์ฌ์ฉํ ๋ ์ ์ฉํฉ๋๋ค. -n or
-p.
-s ์คํฌ๋ฆฝํธ ์ด๋ฆ ๋ค, ๊ทธ๋ฌ๋
ํ์ผ ์ด๋ฆ ์ธ์(๋๋ --). ๊ฑฐ๊ธฐ์์ ๋ฐ๊ฒฌ๋ ๋ชจ๋ ์ค์์น๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค.
ARGV์์ ํด๋น ๋ณ์๋ฅผ ์คํฌ๋ฆฝํธ์ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
#! /usr/local/bin/๋ฃจ๋น -s
# `-xyz' ์ค์์น๋ก ํธ์ถํ๋ฉด "true"๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
$xyz์ธ ๊ฒฝ์ฐ "true\n" ์ถ๋ ฅ
์ผ๋ถ ์์คํ ์์๋ $0์ ํญ์ ์ ์ฒด ๊ฒฝ๋ก ์ด๋ฆ์ด ํฌํจ๋์ง ์์ผ๋ฏ๋ก ๋ค์์ด ํ์ํฉ๋๋ค.
-S ํ์ํ ๊ฒฝ์ฐ Ruby์๊ฒ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฒ์ํ๋๋ก ์ ํํ์ธ์. ๋ค๋ฃจ๋ค
์ฝ์ ๋ ๊ณต๊ฐ ๋ฑ. $*๋ณด๋ค ๋ ๋์ ๊ตฌ์ฑ์ ${1+"$@"}์ด์ง๋ง,
์คํฌ๋ฆฝํธ๊ฐ ํด์๋๋ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค. CSH(1).
-v
--๋ง ์๊ฐ ๋ง์ ์์ธ ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค. Ruby๋ ์ฒ์์ ๋ฒ์ ์ ์ธ์ํ๊ณ ์ค์ ํฉ๋๋ค.
๋ณ์ $VERBOSE๋ฅผ true๋ก ์ค์ ํฉ๋๋ค. ์ผ๋ถ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ถ๊ฐ ๋ฉ์์ง๋ฅผ ์ธ์ํฉ๋๋ค.
๋ณ์๋ ์ฐธ์ ๋๋ค. ์ด ์ค์์น๊ฐ ์ฃผ์ด์ง๊ณ ๋ค๋ฅธ ์ค์์น๊ฐ ์๋ค๋ฉด
ํ์ฌ Ruby๋ ํด๋น ๋ฒ์ ์ ์ธ์ํ ํ ์ข ๋ฃ๋ฉ๋๋ค.
-w ์ฒ์์ ๋ฒ์ ๋ฉ์์ง๋ฅผ ์ธ์ํ์ง ์๊ณ ์์ธ ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค. ๊ทธ๊ฒ
$VERBOSE ๋ณ์๋ฅผ true๋ก ์ค์ ํฉ๋๋ค.
-x[์๋ฐฐ ๊ท์น์] ์คํฌ๋ฆฝํธ๊ฐ ๋ฉ์์ง์ ํฌํจ๋์ด ์์์ Ruby์ ์๋ฆฝ๋๋ค. ๋ํ์ ์ธ ์ฐ๋ ๊ธฐ๋
"#!"์ผ๋ก ์์ํ๋ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ๊น์ง ์ญ์ ๋ฉ๋๋ค. ๋ฌธ์์ด์ ํฌํจํ๊ณ ,
"๋ฃจ๋น". ํด๋น ํ์ ์ ์๋ฏธ ์๋ ์ค์์น๊ฐ ๋ชจ๋ ์ ์ฉ๋ฉ๋๋ค. ๋
์คํฌ๋ฆฝํธ๋ EOF, ^D(control-D), ^Z(control-Z) ๋๋
์์ฝ์ด __END__. ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ด ์ง์ ๋๋ฉด Ruby๋ ์ ํํฉ๋๋ค.
์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ธฐ ์ ์ ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ญ์์ค.
-y
--yydebug ์ปดํ์ผ๋ฌ ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ์ผญ๋๋ค. Ruby๋ ๋ง์ ๋ด๋ถ ์ํ๋ฅผ ์ธ์ํฉ๋๋ค.
์คํฌ๋ฆฝํธ ์ปดํ์ผ ์ค ๋ฉ์์ง. ์ด ์ค์์น๋ฅผ ์ง์ ํ ํ์๋ ์์ต๋๋ค.
Ruby ์ธํฐํ๋ฆฌํฐ๋ฅผ ๋๋ฒ๊น ํ์ง ์๋ ํ.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก jruby๋ฅผ ์ฌ์ฉํ์ธ์.