재귀 함수를 사용하여 모든 디렉터리와 하위 디렉터리를 인쇄하려고 하는데 첫 번째 디렉터리만 가져옵니다. 도움이 필요하세요?
counter(){
list=`ls $1`
if [ -z "$(ls $1)" ]
then
exit 0
fi
echo $list
for file in $list
do
if [ -d $file ]
then
echo $file
counter ./$file
fi
done
}
counter $1
답변1
다음과 비슷한 것을 사용할 수 있습니다.
#!/bin/bash
counter(){
for file in "$1"/*
do
if [ -d "$file" ]
then
echo "$file"
counter "$file"
fi
done
}
counter "$1"
./script.sh .
현재 디렉토리 아래의 디렉토리를 반복적으로 인쇄하거나 탐색할 다른 디렉토리에 대한 경로를 지정하려면 이를 실행하십시오 .