산술연산 명령 expr과 let
각 명령의 차이점
expr은 /usr/bin/expr 즉 Linux에서 지원하는 명령어입니다.
정수형 산술연산(+,-,*/,%),논리연산(|,&),관계연산(=,!=,>,>=,<,<=)이 가능합니다.
let은 shell builtin 즉 쉘(bash)에서만 사용가능한 명령입니다.
쉘에서 지원하는 명령이기 때문에 쉘이 변경되면 사용이 불가능 할 수 있습니다.
정수형 산술연산(+,-,*/,%),bit 연산(<<.>>,&,|),논리연산(&&,||),단항연산(++,+=,-=)이 가능합니다.
사용예시
expr
$ expr 5 + 5
$ expr 5 - 5
$ expr 25 '/' 5
$ expr 25 '%' 4
$ expr 2 '*' 2
let
$ let sum=x+5
$ let x++
$ let x+=1
$ ((sum=x+5)) // let과 (())으로 두 가지 방법이 존재함
$ ((x++))
$ ((x-=1))
loop 명령 while과 until
각 명령문의 차이점
while
while 뒤의 명령어가 true일 때 do~done 사이의 명령을 반복 실행
until
until 뒤의 명령어가 false일 때 do~done 사이의 명령을 반복 실행
사용예시
whlie
1이 들어있는 num변수가 5보다 작거나 같을 때 $num을 출력하고 num변수에 1을 더하는 스크립트가 있습니다.
실행하게 되면 5보다 작거나 같은경우는 5번 즉, 참이 5번 동안이기때문에 do~done문이 5번 출력 되는 것을 볼 수 있습니다.
until
do~done사이는 위 while문과 동일하고 조건문이 변경되었습니다.
num변수가 5보다 클때까지 do~done 사이 명령어 출력되기때문에 총 5번이 출력되는 것을 확인 할 수 있습니다.
while문은 성공하는 동안, until문은 성공할 때까지의 큰 차이점이 있습니다.
for-loop
for 명령문은 주어진 list 값 만큼 do~done사이의 명령을 반복 실행하는 명령문입니다.
사용예시
num 변수에 in 뒤의 list 값들을 넣을 때마다 그 값을 출력하는 스크립트가 있습니다.
list에는 1,2,3,4,5 총 5개의 값이 들어 있고 각 값들을 출력하는 것을 확인 할 수 있습니다.
list에는 값이 아닌 특정 경로를 list로 넣을 수 있습니다.
/etc/ 경로에 있는 모든 값들을 num 변수에 넣고 그 변수를 반복 출력하는 스크립트입니다.
위 사진처럼 /etc/ 경로의 값들이 출력되는 것을 볼 수 있습니다.
이 처럼 잘 활용하면 유용한 스크립트를 작성할 수 있습니다.
이상으로 shell script 공부를 마칩니다.
리눅스의 모든 것을 배울 때까지 공부해봅시다. |

'Linux > Shell Programming' 카테고리의 다른 글
07.[Linux] 쉘(shell) Branching Command (0) | 2023.02.06 |
---|---|
06.[Linux] 쉘(shell) Script Input / Output (0) | 2023.02.04 |
05.[Linux] 쉘(shell) Positional Parameters 란? (1) | 2023.01.31 |
04.[Linux] 쉘(shell) Script 란? (0) | 2023.01.20 |
03.[Linux] 쉘(shell)과 Rules 2 (0) | 2023.01.19 |