비전공개미 개발노트
[Linux] shell script - case, file구분, for, while, 함수, eval, export, set, shift 본문
서버/Linux
[Linux] shell script - case, file구분, for, while, 함수, eval, export, set, shift
비전공개미 2022. 11. 4. 17:02반응형
SMALL
case
(입력값에 따라서 문구를 출력 switch문과 동일)
#!/bin/bash
case $1 in
1) echo "one";;
2) echo "two";;
3) echo "three";;
*) echo "number";; #나머지
esac
exit 0
file
(fname이 파일인지 폴더인지 구분)
#!/bin/bash
fname=/root/a.txt
if [ -e $fname ]; then
if [ -f $fname ]; then
tail -5 $fname #fname파일내용을 뒤에서 다섯번째줄까지만 출력
else
echo directory #파일이 아니고 폴더일경우 directory문구 출력
fi
else
echo "no exist" #파일이 없을경우
fi
exit 0
-d filename : 디렉토리면 true
-e filename : 존재하면 true
-f filename : 일반파일이면 true
-g filename : 파일에 set-group-id가 설정되면 true
-r filename : 읽기 가능이면 true
-s filename : 크기가 0이면 true
-u filename : 파일에 set-user-id가 설정되면 true
-w filename : 쓰기 가능이면 true
-x filename : 실행 가능이면 true
for
(반복문)
#!/bin/bash
sum=0
i=0
#for i in 1 2 3 4 5 6 7 8 9 10 #값을 직접나열도 가능
#for i in $(seq 1 10) #1~10
#for i in $(seq 1 2 10) #2씩 증가
for ((i=1; i<=10; i++))
do
sum=`expr $sum + $i` #값을 입력할때는 $를 붙이지 않는다
done
echo "sum :" $sum
exit 0
while
(반복문)
#!/bin/bash
sum=0
i=1
while [ $i -le 10 ]
do
sum=`expr $sum + $i`
i=`expr $i + 1`
done
echo "sum :" $sum
exit 0
function
(사용자 정의 함수)
#!/bin/bash
hap() {
return `expr $1 + $2`
}
#hap 10 20
hap $1 $2
sum=$?
echo $sum
exit 0
eval
(문자열을 명령문으로 인식하고 실행)
#!/bin/bash
str="ls -al"
#echo $str
#eval $str
echo $str + "/"
eval $str + "/"
exit 0
export
(외부 변수 선언, 다른 프로그램에서도 사용할 수 있는 변수)
export1.sh
#!/bin/bash
echo $a
echo $b
exit 0
export2.sh
#!/bin/bash
a=Local
export b=Export
bash export1.sh
exit 0
set / shift
(리눅스 명령을 결과로 사용 또는 결과를 파라미터로 사용할 때)
#!/bin/bash
echo "now :" $(date)
set $(date)
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo "---------------------------"
shift
echo $0
echo $1
echo $2
echo $3
echo $4
echo $5
exit 0
위 값은 set $1부터 출력, 아래는 shift $0부터 출력
반응형
LIST
'서버 > Linux' 카테고리의 다른 글
[Linux] 우분투에서 오라클db 설치 (0) | 2022.11.08 |
---|---|
[Linux] shell script if문 사용하여 학점계산 (0) | 2022.11.03 |
[Linux] shell script 기본 사용방법 (0) | 2022.11.03 |
[Linux] 파일 압축, 압축풀기 (0) | 2022.11.03 |
[Linux] 관리자 명령어 dpkg, apt-get, apt-cache, ps -ef, kill, 백그라운드 작동 (0) | 2022.11.03 |
Comments