두 개의 배열 값이 인덱스와 동일한지 비교 |

두 개의 배열 값이 인덱스와 동일한지 비교 |

array1과 array2의 값을 비교하고 싶은 시나리오가 있습니다.

echo "${array1[@]}"

나에게 출력 1을 제공합니다 : 12.12 10.1

echo "${array2[@]}"

나에게 출력 2를 제공합니다 : 12.12 10.1

array1 값을 array2와 비교하는 방법은 다음과 같습니다.

array1[0]=array2[0]
array1[1]=array2[1]

12.12 12.12
10.1 10.1

일치하면 표시

에코 "성공" 또는 "실패"

성공 - array1의 모든 데이터가 array2 [인덱스 대 인덱스]와 일치하는 경우

실패 - 인덱스가 인덱스 값과 일치하지 않으면 실패합니다.

답변1

배열을 문자열로 비교할 수 있습니다.

if [[ "${array1[*]}" == "${array2[*]}" ]]; then
  echo success
else
  echo FAIL
fi

[*]not의 사용에 유의하세요 [@]. 첫 번째는 요소를 단일 문자열로 연결합니다($IFS의 첫 번째 문자를 연결자로 사용).

관련 정보