배열의 내용을 디렉토리 안에 저장할 수 있기를 원합니다. 나는 당신이 사용할 수 있습니다 :배열의 내용을 배열 안에 저장하는 방법
#!/bin/bash
declare -A array
for i in Directory; do
array[$i]=$i
done
연관 배열에 디렉토리 내용을 저장합니다. 그러나 디렉토리 안에 하위 디렉토리가있는 경우 동일한 배열 내에 하위 디렉토리를 저장할 수 있기를 원합니다. 또한 사용하여 시도 :
declare -A arr1
find Directory -print0 | while read -d $'\0' file; do
arr1[$file]=$file
echo "${arr1[$file]}"
done
을하지만 이것은 단지 때문에 (나는 상황을 제대로 설명하고 있습니다 경우 확실하지) 서브 쉘이 파이프 라인에서 삭제되기에 while 루프가 종료되면 배열의 내용이 사라지는 문제로 실행됩니다.
for i in $(find Directory/*); do
arr2[$i]="$i"
echo $i
done
하지만 출력에 공백이 포함 된 파일에 대한 재앙이다 :
가 난 다음을 시도했다.디렉토리와 그 하위 디렉토리 (필요한 경우 하위 디렉토리)를 모두 단일 어레이에 저장할 수있는 방법은 무엇입니까?
이 게시물을 탐색 해보십시오. http://stackoverflow.com/questions/11584029/how-can-i-store-a-list-of-directories-in-an-array –
http : // mywiki를 참조하십시오. .wooledge.org/BashGuide/Arrays – andlrc
아카이브 하시겠습니까? 왜 배열을 사용해야합니까? – andlrc