쉘 스크립트 프로그래밍 - 3
2019. 10. 5. 16:31ㆍ임베디드/리눅스시스템프로그래밍
쉘 스크립트 기본 문법으로 파일 탐색이 가능하다. 파일 탐색 뿐만 아니라 디렉토리 검사, 읽기쓰기실행 권한 파악 등이 가능하다
#!/bin/bash
# -e 파일 탐색
filename="echo_test.sh"
if [ -e $filename ]
then
echo "$filename exists"
else
echo "$filename does not exist"
fi
명령 인자를 받아서도 일반적인 코드를 작성할 수도 있다
#!/bin/bash
if [ -e $1 ]
then
echo "$1 exists"
else
echo "$1 does not exist"
fi
참고로 if 조건문을 한 줄에 작성할 수 있다. 새미콜론으로 구분하며 마지막은 생략한다
#!/bin/bash
if [ -z $1 ]; then echo "insert argument"; fi
실제로 ping 명령어를 실행해, 명령이 잘 실행됐는지 확인할 수 있다
#!/bin/bash
# -c 옵션은 count의 약자로 몇 번 ping을 보낼 지 명시한다
# 1>/dev/null에서 1은 표준 출력을 의미하고, /dev/null은 redirection 디렉토리로 아무 출력을 하지 않는다
ping -c 1 192.168.123.254 1>/dev/null
if [ $? != 0 ]
then
echo "게이트웨이 핑 실패"
else
echo "게이트웨이 핑 성공"
fi
for 반복문은 python과 유사하다
#!/bin/bash
# for 변수 in 리스트
# do
# 실행문
# done
# for문도 ;을 통해서 한 줄로 작성이 가능하다
# for 변수 in 리스트; do; 실행문;
for list in $(ls)
do
echo $list
done
echo "=================="
filelist=($(ls))
for var in ${filelist[*]}
do
echo $var
done
while도 for문과 비슷한 형식을 갖는다. while문으로 디렉토리를 출력하는 코드를 작성해보면 다음과 같다
#!/bin/bash
index=0
filelist=$(ls)
filelist_num=${#filelist[*]}
while [ $index != $filelist_num ]
do
echo ${filelist[$index]}
index=`expr $index + 1`
done
'임베디드 > 리눅스시스템프로그래밍' 카테고리의 다른 글
쉘 스크립트로 log 파일 정리하기 (0) | 2019.10.05 |
---|---|
쉘 스크립트로 파일 백업하기 (0) | 2019.10.05 |
쉘 스크립트 프로그래밍 - 2 (0) | 2019.10.05 |
리눅스 쉘에서의 직전 명령의 반환값 확인 (0) | 2019.10.05 |
쉘 스크립트 프로그래밍 - 1 (0) | 2019.10.04 |