정우의 개발 일지

2022.06.03 리눅스 정리 본문

리눅스

2022.06.03 리눅스 정리

이정우 2022. 6. 22. 14:35

셸 프로그래밍 정리

#!/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

'리눅스' 카테고리의 다른 글

2022.05.20 리눅스 정리  (0) 2022.05.20
2022.04.29 리눅스 정리  (0) 2022.04.29
2022.04.08 리눅스 정리  (0) 2022.04.08
2022.04.01 리눅스 정리  (0) 2022.04.01
Comments