๐ ์์ ์์ฝ: ๋ฐฐ์ ์์ ๋ถ๊ธฐ ๋ช ๋ น(Branch Command) ์ฌ์ฉ๋ฒ
์ด ์์์์๋ ๋ฐฐ์(Bash)์์ ํ๋ก๊ทธ๋จ ํ๋ฆ์ ์ ์ดํ๋ ๋ถ๊ธฐ ๋ช
๋ น์ด๋ฅผ ๋ค๋ฃฌ๋ค.
์ฆ, ์ด๋ค ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๋ด์ฉ์ด๋ค.
๐น 1. ์ข ๋ฃ ์ฝ๋ (Exit Code)
๐ก ๋ฆฌ๋ ์ค์์ ๋ชจ๋ ๋ช ๋ น์ด๋ ์คํ ํ ์ข ๋ฃ ์ฝ๋๋ฅผ ๋ฐํํจ
โ ์ข ๋ฃ ์ฝ๋์ ์๋ฏธ
์ข ๋ฃ ์ฝ๋ ์๋ฏธ
0 | ์ ์ ์ข ๋ฃ (Success) |
1~255 | ๋น์ ์ ์ข ๋ฃ (Error) |
127 | ๋ช ๋ น์ด ์์ (command not found) |
126 | ์คํ ๋ถ๊ฐ๋ฅํ ๋ช ๋ น์ด (permission denied) |
130 | Ctrl + C ๋ก ์ข ๋ฃ๋จ (SIGINT) |
137 | kill -9 ๋ช ๋ น์ด๋ก ์ข ๋ฃ๋จ (SIGKILL) |
โ ํ์ฌ ์คํํ ๋ช ๋ น์ด์ ์ข ๋ฃ ์ฝ๋ ํ์ธ
โ ์คํฌ๋ฆฝํธ์์ ์ข ๋ฃ ์ฝ๋ ์ง์ ์ค์ ํ๊ธฐ
์คํ ํ $? ๊ฐ์ ํ์ธํ๋ฉด 1์ด ์ถ๋ ฅ๋จ.
๐น 2. ๋น๊ต ์ฐ์ฐ์ (Test ์ฐ์ฐ์)
๐ก ๋ณ์๋ ํ์ผ์ ์ํ๋ฅผ ๋น๊ตํ๋ ์ฐ์ฐ์
โ ๊ธฐ๋ณธ ๋น๊ต ์ฐ์ฐ์
์ฐ์ฐ์ ์๋ฏธ
-eq | ๊ฐ์ (Equal) |
-ne | ๋ค๋ฆ (Not Equal) |
-gt | ํผ (Greater Than) |
-lt | ์์ (Less Than) |
-ge | ํฌ๊ฑฐ๋ ๊ฐ์ (Greater or Equal) |
-le | ์๊ฑฐ๋ ๊ฐ์ (Less or Equal) |
๐ ์์ : ์ซ์ ๋น๊ต
โ ํ์ผ ๊ด๋ จ ๋น๊ต ์ฐ์ฐ์
์ฐ์ฐ์ ์๋ฏธ
-e | ํ์ผ์ด ์กด์ฌํ๋ฉด ์ฐธ |
-f | ์ผ๋ฐ ํ์ผ์ด๋ฉด ์ฐธ |
-d | ๋๋ ํ ๋ฆฌ์ด๋ฉด ์ฐธ |
-x | ์คํ ๊ฐ๋ฅํ๋ฉด ์ฐธ |
๐ ์์ : ํ์ผ ์กด์ฌ ์ฌ๋ถ ํ์ธ
๐น 3. if ๋ฌธ (์กฐ๊ฑด๋ฌธ)
๐ก ์กฐ๊ฑด์ ๋ฐ๋ผ ์คํํ ๋ช ๋ น์ด๋ฅผ ๋ถ๊ธฐํ๋ ๊ธฐ๋ณธ ๊ตฌ์กฐ
โ ๊ธฐ๋ณธ ๊ตฌ์กฐ
โ ์์ : ์ซ์ ๋น๊ต
โ ์์ : ํ์ผ ์กด์ฌ ์ฌ๋ถ ํ์ธ
๐น 4. case ๋ฌธ (์ฌ๋ฌ ์กฐ๊ฑด ์ฒ๋ฆฌ)
๐ก ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ๋ if ๋ฌธ๋ณด๋ค case ๋ฌธ์ด ๋ ํจ์จ์
โ ๊ธฐ๋ณธ ๊ตฌ์กฐ
โ ์์ : ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ผ ์คํ ๋ค๋ฅด๊ฒ ํ๊ธฐ
๐น 5. ์ค์ต ์์ : ๋๋ ํ ๋ฆฌ ํ์ผ ๋ชฉ๋ก ์ ์ฅ
๐ก ์ฌ์ฉ์๋ก๋ถํฐ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ํด๋น ๊ฒฝ๋ก์ ํ์ผ ๋ชฉ๋ก์ ์ ์ฅํ๋ ์คํฌ๋ฆฝํธ
โ ์คํฌ๋ฆฝํธ ์ฝ๋
โ ์คํ ์์
๐ ๐ก ์ ๋ฆฌ
- ์ข ๋ฃ ์ฝ๋ (exit ์ฝ๋): ๋ช ๋ น์ด ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ
- ๋น๊ต ์ฐ์ฐ (test ์ฐ์ฐ์): ์ซ์, ๋ฌธ์์ด, ํ์ผ ์ํ ๋น๊ต ๊ฐ๋ฅ
- ์กฐ๊ฑด๋ฌธ (if ๋ฌธ): ํน์ ์กฐ๊ฑด์ด ์ฐธ์ธ์ง ํ์ธ ํ ๋ถ๊ธฐ ์คํ
- ๋ค์ค ์กฐ๊ฑด (case ๋ฌธ): ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์ค์ต ์คํฌ๋ฆฝํธ: ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก์ ์ ์ฅํ๋ ์์
๐ ๋ฐฐ์ ์ ์คํฌ๋ฆฝํธ์์ ์กฐ๊ฑด๋ฌธ์ ์ ํ์ฉํ๋ฉด ๋ ๊ฐ๋ ฅํ ์๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค ์ ์์
'๋ฐ๋ฐฐ์ ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ๋ฐฐ์ ธ] 9. looping (0) | 2025.02.13 |
---|---|
[๋ฐ๋ฐฐ์ ธ] 7. Input&Output (0) | 2025.02.13 |
[๋ฐ๋ฐฐ์ ธ] 6. Positional Parameters (0) | 2025.02.13 |
[๋ฐ๋ฐฐ์ ธ] 5. Bash shell scriptแ แ กแซ (0) | 2022.11.14 |
[๋ฐ๋ฐฐ์ ธ] 4. Bash shell๊ณผ Rules 2 (0) | 2022.11.14 |