mkdir -p 명령을 대체하는 스크립트

mkdir -p 명령을 대체하는 스크립트

mkdir -p 명령을 대체하는 스크립트를 작성 중입니다. 이것이 내가 지금까지 가지고 있는 것입니다:

#!/bin/sh  

n=1;
max=50;
while [ "$n" -le "$max" ]; do
mkdir "s$n"
n='expr "$n" + 1';
done

그런 다음 이 스크립트를 사용하여 aaa/bbb/ccc를 입력하면 해당 디렉터리가 생성됩니다.

답변1

다음 스크립트를 실행합니다.

./script.sh abc/def/ghi/jkl

#!/bin/bash

DIR_LIST=${1}

IFS=/
for DIR_NAME in ${DIR_LIST}
do
    mkdir ${DIR_NAME}
    cd ${DIR_NAME}
done

답변2

재귀 함수를 사용합니다.

#!/bin/bash
mkdir_p() {
    local path=$1
    local parent=${path%/*}
    [[ ${path} != /* ]] && parent=${PWD}/${parent}
    [[ ! -d $parent ]] && mkdir_p "${parent}"
    [[ ! -d $path ]] && mkdir "${path}"
}
mkdir_p "${1}"

관련 정보