셸 프로그래밍 정리
#!/bin/sh을 꼭 첫 줄에 작성해주어야 한다.
셸 명령문의 형식 - (프롬프트) 명령 [옵션...] [인자...]
ls -l
rm -rf /mydir
find . / -name "*.conf"
유용한 환경변수
echo $home
echo $lang
echo $bash
echo $histfile
echo "사용자 이름" $USER
출력 : 사용자이름 ubuntu
echo "홈 디렉토리" $HOME
출력 : 홈 디렉토리 /home/ubuntu/
셸 스크립트 작성
vi나 gedit을 사용하여 별도로 컴파일하지 않고 텍스트 파일 형태로 셸에서 바로 실행
변수 선언 시 타입추론법 적용
선언 시 공백이 없어야 함
#!/bin/sh
name="aryong"
age=20
echo "이름 :" $name
echo "나이 :" $age
파라미터 변수
sh son.sh aaa bbb ccc
echo $0
쉘 스크립트 이름 반환
echo $1~9
쉘 스크립트에서 사용한 변수
echo $#
쉘 스크립트에서 사용한 파라미터 변수 개수
echo $@
쉘 스크립트에서 사용한 파라미터 변수 이름
echo $?
$?이 기재되어있는 위치에서의 프로세스값(디버깅 시 사용)
입력받기
read 변수명
출력하기
echo 변수명
조건문
if [ 조건 ]
then
(참인 경우 실행할 문장)
else
(거짓일 때 실행할 문장)
fi
쉘 프로그래밍의 조건문에는 각 단어 사이에 공백이 있어야 한다는 것을 주의해야 한다.
문자열 비교
문자열 = 문자열
두 문자열이 같으면 참
문자열 != 문자열
두 문자열이 다르면 참
-n 문자열
문자열이 null이 아니면 참
-z 문자열
문자열이 null이면 참
산술 비교
수식1 -eq 수식2
두 수식이 같으면 참
수식1 -ne 수식2
두 수식이 다르면 참
쉘 프로그래밍 종료 시 return은 exit 변수명으로 표시
평소엔
exit 0
에러 시엔
exit 1을 추천
없어도 프로그램 실행엔 문제가 없음
#!/bin/sh
if ["BTS" = "BTZ"]
then
echo "문자열이 서로 같다"
else
echo "BTS와 비교하지 말아라"
fi
exit 0
#!/bin/sh
if [1004 -eq 1004]
then
echo "참입니다"
else
echo "서로 다른 숫자입니다"
fi
exit 0