bash - 변수 - 쉘 스크립트 if



다른 명령에서 파이프 된 출력으로 bash 배열을 초기화하는 방법? (2)

숫자 묶음 (별도의 줄에 각 숫자)을 나열하는 명령의 출력을 파이프하고 해당 숫자로 배시 배열을 초기화하는 방법이 있습니까?

세부 정보 : 다음 날짜 범위에 제출 된 3 개의 변경 목록 번호를 나열합니다. 그런 다음 출력물을 파이프하여 cut 을 필터링하여 변경 목록 번호 만 가져옵니다.

p4 changes -m 3 -u edk -s submitted @2009/05/01,@now | cut -d ' ' -f 2

예 :

422311
543210
444000

이 목록을 bash 배열에 저장하는 것이 어떻게 가능합니까?

https://src-bin.com


Answer #1

# 4와 매우 유사하지만 조금 나아 보인다. :)

declare -a a
readarray -t a <<< $(command)

Answer #2

bash 4+를 사용하고 있다면, mapfile readarray 라고도 함)에 대한 특별 명령이 있으므로 배열을 다음과 같이 채울 수 있습니다.

declare -a a
readarray -t a < <(command)

더 많은 휴대용 버전을 사용할 수 있습니다.

declare -a a
while read i; do
  a=( "${a[@]}" "$i" )
done < <(command)




shell