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"
이렇게 하면 변수에 생성된 디렉터리를 가질 수 있습니다.