2014-07-10 2 views
0

이 코드는 폴더를 구문 분석하고 폴더가 여러 하위 폴더/파일이 포함 된 경우 그들은 사이에 공백을 한 줄에 연결됩니다 (subfolder1 subfolder2 subfolder3/요) 대신 (subfolder1/요) 줄 바꿈 (subfolder2/요) 등 I의 한 줄에 하나의 하위 폴더가 있어야합니다 (디렉토리에 하나의 하위 폴더 만 있으면 예상대로 작동합니다).Bash : for 루프는 개별 라인을 할당하는 대신 결과를 연결합니다.

제안 사항? "$SUBDOMAINS/*"에서

FolderName=/yo 
SUBDOMAINS=/data 

for sourceX in "$SUBDOMAINS/*" 
do 
echo $sourceX $FolderName 

done 

답변

3

글롭의 문자는 인용해서는 안 :

"$SUBDOMAINS"/* 

제대로뿐만 아니라 인용하여 인수를 더 나은 다음 대체 (globbing) 주위

echo "$sourceX" "$FolderName" 
+1

그건 고마워. 그 말은 나 한테 열세인데. – user937036

1

드롭 따옴표 *. 변수 주변을 따옴표로 묶고 glob 주위에는 따옴표를 넣지 마십시오. 셸에게 glob 확장 된 파일 목록을 한 문자열로 만든 다음 그 한 문자열을 반복하여 출력하는 방법을 알려줍니다. (즉,이 문제와 관련 아니에요하지만)

당신은 아마 에코 라인에서 변수 따옴표를 원한다.

관련 문제