와일드카드 문자가 포함된 배열 매개변수를 확장하는 방법은 무엇입니까?

와일드카드 문자가 포함된 배열 매개변수를 확장하는 방법은 무엇입니까?

어떻게 연장하나요?대량으로하나 있다와일드카드토론? 예를 들어, 작동하지 않는 것으로 선언되었지만 유효한 모든 파일을 다음과 같이 나열하고 싶습니다 a3.a("a1" "a2" "a3*")("a1" "a2" a3*)표현하다그리고? ), 그런데 더 좋은 방법이 있나요?

#/usr/bin/env bash

touch a1 a2 a31 a32

# list files starting with a3

a=("a1" "a2" "a3*") # fails
a=("a1" "a2" a3*) # works

ls "${a[@]}"

rm a1 a2 a31 a32

답변1

Bash에서는 동일한 "단어" 내에서 다른 따옴표를 결합할 수 있으므로 따옴표가 없는 문자열도 사용할 수 있습니다 a=("a1" "a2" "a3"*). 예를 들어, a로 가져오면 prefix=a간단히 a=("${prefix}1" "${prefix}2" "${prefix}3"*).

관련 정보