minishell - KimTaebin-ai/study_posts GitHub Wiki
ํ์ ๊ฐ๋ ๋ฐ ํ์ต ๋ด์ฉ
https://github.com/42-gyeongsan-minishell
history
๊ด์ฐฎ์ ๋ธ๋ก๊ทธ
๊ทผ๋ฐ history ๋ช
๋ น์ด๋ฅผ ๊ตฌํํ๋๊ฒ ์๋๋ผ readline ํจ์๋ก ๋ช
๋ น์ด๋ฅผ ๋ฃ์ ๋ add_history ํจ์๋ก ๊ฐ์ ์ ์ฅ
์ด ๋ด์ฉ์ ํ์ดํ ์ ๋ฐฉํฅ์ ๋๋ฅด๋ฉด ๋ฐ๋ก๋ฐ๋ก ๋์ด
$?
๊ฐ์ฅ ์ต๊ทผ์ ์คํํ ๋ช
๋ น์ด์ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํจ
0์ผ ๊ฒฝ์ฐ true, 127์ผ ๊ฒฝ์ฐ false์ด๋ค. ์์๊ฒ ๋
๊ณผ์ ์๊ตฌ ์ฌํญ
- History ๊ธฐ๋ฅ ๊ตฌํ
- ์์น๋ฅผ ์ฐพ์ (PATH๋ณ์, ์๋, ์ ๋ ๊ฒฝ๋ก) ํ์ผ ์คํ ๊ตฌํ
- ๋ซํ์ง ์์ ๋ฐ์ดํ๋ ๋ช ์๋์ง ์์ ํน์๋ฌธ์ (\๋ ; ๋ฑ...) ์ ํด์ํ์ง ์์์ผ ํฉ
- ๋ฐ์ดํ (') valid ์ฒดํฌ
- '' ์์ ์๋ metacharacter (์ ๊ท์) ํด์ ๋ ธ๋ ธ
- "" ์์ ์๋ $ (๋ฌ๋ฌ๋ฅผ ์ ์ธํ) metacharacter (์ ๊ท์) ํด์ ๋ ธ๋ ธ
- ๋ฆฌ๋ค์ด๋ ์ >, >> ๊ธฐ๋ฅ ๊ตฌํ
- ํ์ดํ ( | ๋ฌธ์) ๊ตฌํ
- $ ๋ค์ ์ค๋ ํ๊ฒฝ ๋ณ์ ํ์ฉ ๊ฐ๋ฅ
- $? ๊ฐ์ฅ ์ต๊ทผ์ ์คํํ ํฌ๊ทธ๋ผ์ด๋ ํ์ดํ๋ผ์ธ์ ์ข ๋ฃ ์ํ๋ก ํ์ฅ
- ctrl-C, ctrl-D, ctrl-\ ๊ธฐ๋ฅ ๊ตฌํ
ctrl-C๋ ์๋ก์ด ์ค์ ์๋ก์ด ํ๋กฌํํธ๋ฅผ ์ถ๋ ฅ
ctrl-D๋ ์ ธ์ ์ข ๋ฃ
ctrl-\์ ์๋ฌด๋ฐ ๋์๋ ํ์ง ์์
- -n ์ต์ ์ ํฌํจํ echo
- ์๋ ๋๋ ์ ๋ ๊ฒฝ๋ก๋ง ์ฒ๋ฆฌํ๋ cd
- ์ต์ ์ด ์๋ pwd
- ์ต์ ์ด ์๋ export
- ์ต์ ์ด ์๋ unset
- ์ต์ ์ด๋ ์ธ์๊ฐ ์๋ env
- ์ต์ ์ด ์๋ exit
๊ฐ๋ฐ ์์
- readline
Makefile์
-lreadline
flag ์ถ๊ฐ ํ์ - add_history() ํจ์ ์ฒ๋ฆฌ