=의 양옆에 공백이 있으면 안 된다. 반대로 if [ 조건 ]의 대괄호 안쪽에는 공백이 있어야 한다.-eq/-gt/-lt, 문자열 =/!=/-z/-n, **파일 -e/-f/-d**로 갈린다.if→fi, for/while→done, case→esac. 함수는 괄호 없이 함수명 인자로 호출한다.$(...)는 명령 치환, $((...))는 산술 연산, $?는 직전 명령의 종료 상태(0=성공)다.tar czf + $(date)), 파일 읽기(while read ...; done < 파일), 빈도 집계(sort | uniq -c | sort -rn).#!/bin/bash # shebang: 해석할 셸 지정 (첫 줄 필수)
name="linux" # 변수 대입 (= 앞뒤 공백 금지!)
count=10
echo "$name $count" # 변수 사용: $ 접두, "큰따옴표"로 보호