μλ§νΌμ΄λ μλ¦λ€μ΄ κ·Έκ²
μμ½:μ΄λ² νλ‘μ νΈμ λͺ©νλ κ°λ¨ν μμ λ§λλ κ²μ λλ€.λ§μμ, λΉμ λ§μ μμ bashμ΄μ.νλ‘μΈμ€λ νμΌ λμ€ν¬λ¦½ν°μ λν΄ μμ£Ό λ§μ΄ λ°°μ°κ² λ κ²λλ€.
μμ ITμ νμ΄λΆν° ν¨κ»νμ΅λλ€.
κ·Έ λΉμ, λͺ¨λ κ°λ°μλ€μΒ 1κ³Ό 0μΌλ‘λ§ μ΄λ£¨μ΄μ§ μ€μμΉλ‘ μ»΄ν¨ν°μ ν΅μ νλ κ²μ κ΅μ₯ν μ±κ°μλ€
λ μ μ λμνμ΄μ.
μμ΄μ λΉμ·ν μΈμ΄λ‘ μμ±λ λͺ
λ Ήμ΄μ μ€μ μ΄μ©ν΄ μ»΄ν¨ν°μ μν΅νλ
Β νλ‘κ·Έλ¨μ λ§λ€κ² λ€λ μμ΄λμ΄λ₯Ό λ μ¬λ¦° κ²λ λΉμ°ν μμμ΄μμ£ .
κ°μ¬νκ²λΒ Minishell
κ³Ό ν¨κ»λΌλ©΄,Β Windows
κ° μ‘΄μ¬νμ§ μμμ μμ μ¬λλ€μ΄ κ²ͺμλ λ¬Έμ λ₯Ό λ§μ£Όν΄λ³Ό μ μμ κ²λλ€.
νλ‘κ·Έλ¨ μ΄λ¦ | minishell |
μ μΆν νμΌ | Makefile, *.h, *.c |
Makefile | all, clean, fclean, re |
μΈμ | |
μ¬μ©κ°λ₯ν μΈλΆ ν¨μ | readline, rl_clear_history, rl_on_new_line, rl_replace_line, rl_redisplay, add_history, printf, malloc, free, write, access, open, read, close, fork, wait, waitpid, wait3, wait4, signal, sigaction, sigemptyset, sigaddset, kill, exit, gextcwd, chdir, stat, lstat, fstat, unlink, execve, dup, dup2, pipe, opendir, readdir, closedir, strerror, perror, isatty, ttyname, ttyslot, ioctl, getenv, tcsetattr, tcgetattr, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs |
Libft μ¬μ©μ¬λΆ | Yes |
μ€λͺ | μμ λ§λμΈμ |
λΉμ μ μμ:
- μλ‘μ΄ λͺ
λ Ήμ΄λ₯Ό μ
λ ₯ν μ μλΒ
ν둬ννΈ
λ₯Ό 보μ¬μ€μΌ ν©λλ€. - μμ
Β
νμ€ν 리
λ₯Ό κ°κ³ μμ΄μΌ ν©λλ€. - (PATH λ³μλ μλ, μ λ κ²½λ‘λ₯Ό νμ©νμ¬) μ¬λ°λ₯Έ μ€ν νμΌμ μ°Ύμ μ€νν μ μμ΄μΌ ν©λλ€.
μ μλ³μ
λ ν κ° μ΄κ³Όλ₯Ό μ¬μ©ν μ μμΌλ©°, μ μ μλ³μλ₯Ό μ¬μ©νλμ§ κΉκ² μκ°ν΄ λ³΄κ³ κ·Έ μ΄μ λ₯Ό μ€λͺ ν μ μμ΄μΌ ν©λλ€.- λ«νμ§ μμ λ°μ΄νλ νΉμ λμ§ μμ νΉμλ¬Έμ (\λ ; λ±...) μ ν΄μνμ§ μμμΌ ν©λλ€.
- ' (λ¨μΌ λ°μ΄ν) μμ μλ λ©νλ¬Έμλ₯Ό ν΄μνμ§ μμμΌ ν©λλ€.
- " (μ΄μ€ λ°μ΄ν) μμ μλ $ (λ¬λ¬ κΈ°νΈ)λ₯Ό μ μΈν λ©νλ¬Έμλ₯Ό ν΄μνμ§ μμμΌ ν©λλ€.
- λ€μμ 리λ€μ΄λ μ
μ ꡬνν΄μΌ ν©λλ€:
<
λ μ λ ₯μ 리λ€μ΄λ μ νμ¬μΌ ν©λλ€>
λ μΆλ ₯μ 리λ€μ΄λ μ νμ¬μΌ ν©λλ€<<
μ κ΅¬λΆ κΈ°νΈλ₯Ό μ§μ ν λ€μ, νμ¬ μμ€μμ ꡬλΆμλ₯Ό ν¬ν¨ν μ€μ λ§λκΈ° μ κΉμ§ μ λ ₯κ°μ μ½μ΄λ€μ λλ€. κΈ°λ‘μ μ λ°μ΄νΈν νμλ μμ΅λλ€!>>
λ μΆλ ₯μ μΆκ° λͺ¨λλ‘ λ¦¬λ€μ΄λ μ ν©λλ€.
νμ΄ν
(Β|
Β λ¬Έμ)λ₯Ό ꡬνν΄μΌ ν©λλ€. κ° νμ΄νλΌμΈλ§λ€ λͺ λ Ήμ΄μ μΆλ ₯κ°μ νμ΄νλ‘ μ°κ²°λμ΄ λ€μ λͺ λ Ήμ΄μ μ λ ₯κ°μΌλ‘ λ€μ΄κ°μΌ ν©λλ€.νκ²½λ³μ
Β ($
Β λ€μμ λ¬Έμμ΄μ΄ μ€λ νμ) μ κ·Έλ€μ κ°μΌλ‘ νμ₯λμ΄μΌ ν©λλ€.$?
λ κ°μ₯ μ΅κ·Όμ μ€νν ν¬κ·ΈλΌμ΄λ νμ΄νλΌμΈμ μ’ λ£ μνλ₯Ό νμ₯νμ¬μΌ ν©λλ€ctrl-C
,Βctrl-D
Β κ·Έλ¦¬κ³ Βctrl-\
Β λ bashμ λμΌνκ² λμνμ¬μΌ ν©λλ€.- μνΈμμ©μ΄ κ°λ₯ν λ:
ctrl-C
λ μλ‘μ΄ μ€μ μλ‘μ΄ ν둬ννΈλ₯Ό μΆλ ₯ν©λλ€ctrl-D
λ μμ μ’ λ£ν©λλ€.ctrl-\
μ μλ¬΄λ° λμλ νμ§ μμ΅λλ€.
- λ€μμΒ
λ΄μ₯ κΈ°λ₯λ€
μ μ€νν μ μμ΄μΌ ν©λλ€:n
Β μ΅μ μ μ¬μ©ν μ μλΒecho
- μ€μ§ μλ λλ μ λκ²½λ‘λ§ μ¬μ©νλΒ
cd
- μ΅μ
μ΄ μλΒ
pwd
- μ΅μ
μ΄ μλΒ
export
- μ΅μ
μ΄ μλΒ
unset
- μ΅μ
μ΄λ μΈμκ°μ΄ μλΒ
env
- μ΅μ
μ΄ μλΒ
exit
readline()
Β ν¨μλ λ©λͺ¨λ¦¬ λμλ₯Ό μΌμΌν¬ μ μμ΅λλ€. μ΄λ₯Ό κ³ μΉ νμλ μμ΅λλ€. νμ§λ§Β λΉμ μ΄ μ§μ μμ±ν μ½λλ λ©λͺ¨λ¦¬ λμλ₯Ό μΌμΌν¬ μ μλ€λ κ²μ μλ―Έν©λλ€.
π‘μ¬λ¬λΆμ κ³Όμ μ μ€λͺ μλ§ κ΅νλλλ‘ μ€κ³ν΄μΌ ν©λλ€. μꡬνμ§ μμ κ²λ€μ λ§λμ€ νμλ μμ΅λλ€.
μλ¬Έμ μ΄ μκΈ΄λ€λ©΄Β bashλ₯Ό μ°Έκ³ νμΈμ.