로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

리눅스 쉘 스크립트(Shell Script)

lmkfox · 2025-10-11 · 조회 0
리눅스 쉘 스크립트(Shell Script)
1. 쉘 스크립트란? **쉘 스크립트(Shell Script)**는 리눅스나 유닉스 시스템에서 명령어들을 자동으로 실행하기 위해 작성한 텍스트 파일입니다. 즉, 여러 개의 명령을 하나의 파일에 저장해 순차적으로 실행함으로써, 반복 작업이나 시스템 관리 작업을 자동화할 수 있습니다. - 쉘(Shell): 사용자가 입력한 명령을 해석해 커널에 전달하는 인터프리터. - 스크립트(Script): 명령어를 모아놓은 실행 가능한 텍스트 파일. 2. 쉘 스크립트의 특징 항목 설명 파일형태 일반 텍스트 파일 (.sh 확장자 사용 권장) 실행방식 인터프리터 방식 (컴파일 불필요) 사용목적 시스템 관리, 자동 백업, 로그 처리, 배포 자동화 등 실행환경 bash, sh, zsh 등 다양한 쉘에서 실행 가능 3. 기본 구조 쉘 스크립트 파일의 기본적인 형태는 다음과 같습니다. #!/bin/bash # 주석: 이 스크립트는 간단한 예시입니다. echo "Hello, Shell Script" - #!/bin/bash: shebang이라 부르며, 해당 스크립트를 해석할 쉘 프로그램을 지정합니다. - #: 주석 표시. - echo: 문자열을 출력하는 명령. 4. 쉘 스크립트 작성과 실행 방법 (1) 작성 nano hello.sh 내용 예시: #!/bin/bash echo "Hello Linux" (2) 실행 권한 부여 chmod +x hello.sh (3) 실행 ./hello.sh 또는 직접 쉘로 실행: bash hello.sh 5. 변수 사용 쉘 스크립트에서는 변수를 다음과 같이 사용할 수 있습니다. #!/bin/bash name="User" echo "Hello, $name" - 변수 선언 시 = 앞뒤에 공백이 없어야 합니다. - 변수 값을 참조할 때 $변수명 형태로 사용합니다. 6. 사용자 입력 받기 #!/bin/bash echo "이름을 입력하세요:" read name echo "안녕하세요, $name 님" - read 명령어는 사용자 입력을 받습니다. 7. 조건문 #!/bin/bash echo "숫자를 입력하세요:" read num if [ $num -gt 10 ]; then echo "10보다 큽니다." else echo "10 이하입니다." fi - [ ] 안에는 조건식을 넣습니다. - -gt, -lt, -eq 등은 비교 연산자입니다. 8. 반복문 (1) for문 for i in 1 2 3 4 5 do echo "숫자: $i" done (2) while문 count=1 while [ $count -le 5 ] do echo "현재 값: $count" ((count++)) done 9. 함수(Function) #!/bin/bash greet() { echo "안녕하세요, $1 님" } greet "홍길동" - $1, $2는 함수에 전달된 인수(argument)를 나타냅니다. 10. 명령어 종료 상태 코드 모든 명령은 **종료 상태(exit code)**를 반환합니다. - 0: 성공 - 0이 아님: 오류 발생 확인 예시: ls /etc echo $? # 0 출력 ls /없는폴더 echo $? # 2 출력 11. 실무 예제: 로그 백업 스크립트 #!/bin/bash LOG_DIR="/var/log" BACKUP_DIR="/backup/logs" DATE=$(date +%Y%m%d) mkdir -p $BACKUP_DIR tar -czf $BACKUP_DIR/logs_$DATE.tar.gz $LOG_DIR echo "로그 백업 완료: $BACKUP_DIR/logs_$DATE.tar.gz" 12. 쉘 스크립트의 장점 - 반복되는 관리 작업 자동화 - 배치 처리(batch processing) - 서버 유지보수 간소화 - 시스템 관리 효율 극대화 13. 자주 사용하는 쉘 명령어 명령어 설명 echo 출력 read 사용자 입력 if, for, while 제어문 test, [ ] 조건 평가 exit 스크립트 종료 $? 이전 명령의 종료 코드 $$#=##;, $@ 인수 개수 및 목록 14. 주의할 점 - 파일 인코딩은 UTF-8로 저장해야 한글이 깨지지 않습니다. - #!/bin/bash를 꼭 첫 줄에 작성해야 합니다. - 실행 권한을 부여하지 않으면 실행되지 않습니다. (chmod +x)

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.