셸 스크립트 동작 방식
1. 지정한 디렉터리의 모든 파일과 디렉터리를 출력하는 셸 스크립트 작성
작성 팁
1. 먼저 작고 간단한 기능부터 구현
2. 전체적인 흐름을 먼저 작성한 뒤 조금씩 구현
#!/bin/bash
# 함수 정의: 주어진 경로에 대한 파일 및 디렉터리 목록을 재귀적으로 출력
list_recursive() {
local filepath=$1 # 첫 번째 인자로 받은 파일 경로를 지역 변수에 저장
local indent=$2 # 두 번째 인자로 받은 들여쓰기 값을 지역 변수에 저장
# 들여쓰기를 적용하고 파일 이름만 추출하여 출력
echo "${indent}${filepath##*/}"
# filepath 가 디렉터리인지 확인합니다.
# 디렉터리라면 그 안의 항목들에 대해 루프를 실행
if [ -d "$filepath" ]; then
local fname # 현재 처리 중인 파일 또는 디렉터리의 이름을 저장할 지역 변수
for fname in $(ls $filepath) # 디렉터리 내의 각 항목에 대해 반복
do
# fname 이 디렉터리라면 재귀적으로 list_recursive 를 호출
list_recursive "${filepath}/${fname}" "${indent} "
done
fi
}
# 스크립트 실행의 시작점: 첫 번째 인자로 받은 경로를 기준으로 함수를 호출
list_recursive "$1" ""
'책 > 모두의 리눅스' 카테고리의 다른 글
[ 책 ] [ 모두의 리눅스 ] 18장 tar 명령어: 파일 아카이브 하기 (0) | 2024.04.12 |
---|---|
[ 책 ] [ 모두의 리눅스 ] 17장 검색명령어 만들기 / 도움말 + 에러 (0) | 2024.04.11 |
[ 책 ] [ 모두의 리눅스 ] 17장 셸 스크립트의 장단점 (0) | 2024.04.11 |
[ 책 ] [ 모두의 리눅스 ] 16장 제어구조 : 셸 함수 (0) | 2024.04.10 |
[ 책 ] [ 모두의 리눅스 ] 16장 제어구조 while (0) | 2024.04.10 |