비전공개미 개발노트
[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
			
		
	
               
           
					
					
					
					
					
					
				 
								