쉘에서 쓰는 언어는 생소하다. 그래서 새로 배워야함!
출력
echo 명령어를 이용한다.
echo HI
입력
read 명령어를 이용한다.
read input
echo $input
변수 생성
변수이름=값 으로 변수를 만들 수 있다.
first=100
second=200
echo $first + $second
이 코드의 출력값이 어떻게 될거 같은가?
300일 것 같지만 땡~~! 100 + 200 이 출력된다.
모든 값들은 문자열로 취급하기 때문에 주의해야한다.
그렇다면 300이 나오게 하려면 어떻게 해야할까!!
$(( )) 를 이용해서 산술연산 처리를 할 수 있다.
echo $(( $first + $second ))
이렇게 코드를 짜면 300이 나온다.
Argument 변수
변수를 굳이 따로 생성하지 않아도 입력 순서로 입력값을 조정할 수 있다.
echo $(( $1 + $2 ))
이렇게 코드를 짜고 source 파일명.sh 100 200 을 실행시키면 더한 값 300이 출력된다.
쉘 명령어의 실행결과를 변수에 저장
DATE=$(date)
echo Today : $DATE
DATE 변수에 date 실행결과를 저장한다.
실행하면 date 명령어가 실행된 결과값이 출력된다.
주석
#주석은 #으로
그런데 최상단의 bash 실행기 지정은 주석이 아니라는 점!!
if문
= : == (문자열 비교)
if [ $1 = "hi" ]; then
echo hello
elif [ $1 = "hello"]; then
echo world
else echo hehe
띄어쓰기 주의해야한다...
[$1 = "hi"] 이렇게 쓴다면 if 문에 에러가 발생한다.
[ $1="hi" ] 이렇게 쓰면 비교문이 아니라, 변수에 hi가 입력하는 코드가 된다.
꼭 반드시 띄어쓰기 조심하기!!
숫자 비교
-lt : < (less than)
-gt : > (greater than)
-eq : = (equal to)
-ne : != (not equal)
-le : <= (less & equal)
-ge : >= (greater & equal)
|| : or
&& : and
read n
if [ $n -gt 0 ] && [ $n -lt 10 ] ;then
echo small
elif [ $n -gt 10 ] && [ $n -lt 20 ] ;then
echo middle
else echo big
fi
0 ~ 10 사이 수 입력 시 small,
10 ~ 20 사이 수 입력시 middle,
그 외의 수는 big 출력
for문, 함수, 배열
이 아이들은 쉘 스크립트에서 잘 쓰이지 않는다.
(실제 현업자도 얘네들은 한번도 본적 없다고 함)
그래서 자주 쓰이는 아이들만 정리하고 마치겠다!
'임베디드' 카테고리의 다른 글
[C언어] 자료형 : float, double, 부동소수점, 고정길이정수 (0) | 2022.04.08 |
---|---|
[메모리] 2의 보수와 음수 처리 / 2의 보수 쓰는 이유 (0) | 2022.04.06 |
[메모리] 빅/리틀 엔디안 (Big/Little-Endian) (0) | 2022.04.05 |
[리눅스] 쉘 스크립트 : Bash Shell 시작하기, 쉬뱅 (0) | 2022.04.02 |
[리눅스] 터미널의 개념 : 과거와 현재 정의 비교 (0) | 2022.03.27 |