k=50 // 띄어쓰기 x
모든 변수는 문자처리됨 ! string ~
쉘의 종류
Bourne Shell(sh)
C Shell
TC Shell
Korn Shell
Bourne Again Shell(bash) / 리눅스의 기본 쉘
debian Shell(dash)
Zsh
리눅스 종료 상태 코드
0 성공
1 알 수 없는 오류, 일반적인 error
2 명령어 잘 못 사용
127 명령어를 찾을 수 없음
BASH Shell 특수 값
$? 바로 이전 명령의 상태 종료 값
$$ 현재 SHELL PID
$# 인수의 개수
$* 모든 매개변수를 하나로 참조
BASH Shell 메타문자(특수 의미)
|| or
&& 참일때 계속 실행
; 명령어 여러개 사용할 때
redirection
< 입력
> 출력
>> 덧붙임
조건문
$A -gt $B // great than
$A -lt $B // less than
$A -ge $B // great eqaul
$A -le $B // less equal
$A -eq $B // equal
$A -ne $B // not equal
파일관련
-e // 존재여부
-d // directory
-f // 존재하고 일반 파일인가
! -option // option이 거짓인 경우
expr 명령 연산자
| or
& and
< less than
<= less equal
= equal
!= not eqaul
>= great equal
> great than
예제
typeset -i 정수로 인식하겠다!
if문
vi a.sh
#!/bin/bash
typeset -i b=30
if [ $b -eq 30 ];
then
echo "\$b = $b"
fi
jj@psh:~$ a.sh
$b = 30
if ~else문
vi b.sh
#!/bin/bash
typeset -i b=30
if [ $b -eq 30 ];
then
echo "\$b = $b "
else
echo "\$b = $b "
fi
jj@psh:~$ b.sh
$b = 30
다중 if문
vi c.sh
#!/bin/bash
typeset -i b=30
if [ $b -ge 90 ];
then
echo "\$b = $b A "
elif [ $b -ge 80 ];
then echo "\$b =$b B "
elif [ $b -ge 70 ];
then echo "\$b = $b C "
elif [ $b -ge 60 ];
then echo "\$b = $b D "
else
echo "\$b = $b F"
fi
jj@psh:~$ c.sh
$b = 30 F
for문
vi d.sh
#!/bin/bash
for a in aa bb cc dd
do
echo " a = $a "
done
jj@psh:~$ d.sh
a = aa
a = bb
a = cc
a = dd
while문
vi e.sh
#!/bin/bash
n=1
while [ $n -le 10 ]
do
sum=`expr $sum + $n`
echo "n = $n , sum = $sum "
n=`expr $n + 1`
done
jj@psh:~$ e.sh
n = 1 , sum = 1
n = 2 , sum = 3
n = 3 , sum = 6
n = 4 , sum = 10
n = 5 , sum = 15
n = 6 , sum = 21
n = 7 , sum = 28
n = 8 , sum = 36
n = 9 , sum = 45
n = 10 , sum = 55
until문
vi f.sh
#!/bin/bash
n=1
until [ $n -gt 10 ]
do
sum=`expr $sum + $n`
echo "n = $n, $sum "
n=`expr $n + 1`
done
jj@psh:~$ f.sh
n = 1, 1
n = 2, 3
n = 3, 6
n = 4, 10
n = 5, 15
n = 6, 21
n = 7, 28
n = 8, 36
n = 9, 45
n = 10, 55
case문
vi g.sh
#!/bin/bash
var=1
case $var in
1)
echo "Apple"
;;
2)
echo "Grape"
;;
3)
echo "Kiwi"
;;
esac
jj@psh:~$ g.sh
Apple
continue, break
vi h.sh
#!/bin/bash
echo " == continue "
for(( i=0; i<10; ++i ))
do
if(( i == 5 ))
then
continue;
fi
echo " \$i ==> $i ";
done
echo " == break "
for(( i=0; i<10; ++i ))
do
if (( i == 5 ))
then
break;
fi
echo "\$i ==> $i ";
done
jj@psh:~$ h.sh
== continue
$i ==> 0
$i ==> 1
$i ==> 2
$i ==> 3
$i ==> 4
$i ==> 6
$i ==> 7
$i ==> 8
$i ==> 9
== break
$i ==> 0
$i ==> 1
$i ==> 2
$i ==> 3
$i ==> 4
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 리눅스' 카테고리의 다른 글
[리눅스] 가상환경에서 리눅스 설치하기 (0) | 2023.05.07 |
---|---|
9일 차 리눅스 마지막 날 총 정리 + 설치 내용을 담은 스크립트 만들어보 (0) | 2023.05.04 |
8일차 (1) | 2023.05.03 |
[리눅스] 표준 입력방식과 일반 실행의 차이 ,,!! (0) | 2023.05.03 |
7일 차 ,, bind (0) | 2023.05.03 |