디렉토리를 통해 루프

디렉토리를 통해 루프
paths=$1
files=$2
for dir in ${paths[@]}
do
    newdir=${dir##*/}
    newpath=(/pathname)
    val=`mkdir -p ${newpath}/${newdir}`
    echo ${val}

    for file in "${dir}"/*; do
        if [[ -f $file && $file = *.@(c|cc|cpp|h) ]]; then
            cp ${file} ${val}
        fi
    done
done

디렉터리를 반복하면서 새로 생성된 val 디렉터리에 파일 이름을 복사하고 싶지만 val 값을 인쇄할 수 없습니다. 내가 뭘 잘못했나요?

답변1

할당하는 출력

mkdir -p ${newpath}/${newdir}

하지만 이 명령은 아무 것도 출력하지 않으므로 아무 것도 인쇄할 수 없습니다. (예, 그러나 출력은 비어 있습니다)

val에 무엇이든 추가하려면 먼저 이 작업을 수행하고 val을 사용하여 디렉터리를 만듭니다. 예를 들면 다음과 같습니다.

val="$newpath/$newdir"

mkdir "$val"

이렇게 하면 변수에 생성된 디렉터리를 가질 수 있습니다.

관련 정보