기본

모든 쉘 스크립트 확장자는 .sh

(권장 사항) 파일의 맨 위에는 #! /bin/bash를 적어준다.

  • 이 문서는 bash 쉘 스크립트임을 알린다
    • #! /bin/bash : bash 쉘
    • #! /bin/sh: dash 쉘

bash vs dash

bash와 dash의 대부분의 명령어는 같다

user는 기본적으로 bash를 사용하지만 우분투 시스템에서는 기본적으로 dash를 사용한다.

 

bash

더 많은 기능 지원 (ex history)

기본 설정으로 POSIX 비호환 확장 기능을 제공하나 --posix 옵션을 사용하여 POSIX 모드 사용 가능

기능이 많아서 느릴 수 있음

dash

빠른 실행과 최소한의 리소스 사용을 목표로 함

POSIX 표준을 엄격히 준수

경량이라서 빠름

 

 

실행방법

  • .source [파일이름.sh]
    • 가장 많이 사용되는 방법
  • .  [파일이름.sh]
    • 실행권한이 필요한 경우가 있음

문법

변수

변수이름=값 (띄워쓰기 금지)

모든 값들은 문자열로 취급 (숫자로 취급 x)

$(( )) 를 붙이면 이 안에서 산술 연산으로 처리 됨

실행 결과

shell 명령어의 실행 결과를 변수에 저장할 수 있다

실행 결과

주석

한줄 주석 # 입력하고 그 후에 작성

조건문

if 문은 띄워쓰기를 조심해야 함

fi 로 조건문 종료를 해줘야 함

독보적인 비교 연산자

  • -lt : less than
  • -gt : greater than
  • -eq : equal (수 비교)
  • -ne : not equal
  • -ge : greater or equal
  • -le : less or equal

파일 비교도 가능하다

  • -x : 파일이 존재하고, 권한이 (+x)일 때
  • -f : 파일이 존재하고, Regular 파일일 때
  • etc...

printf

c언어의 printf와 비슷하다

있다는 것 정도만 알아주자

배열

배열을 만들 때는 ( )  사용

배열 값을 출력할 때는 { } 괄호 필수

반복문

for 문법

함수

함수 호출할 때, 함수 이름만 입력하면 됨

 

'Linux > 개념' 카테고리의 다른 글

환경변수  (0) 2024.12.12
리눅스 사용자 및 권한 관리  (0) 2024.12.11
포트포워딩  (0) 2024.12.11
리눅스 파일 시스템 및 구조  (0) 2024.12.10
우분투(Ubuntu)와 리눅스(Linux), 운영체제, 쉘  (0) 2024.12.10

+ Recent posts