bash에서 문자열이나 배열을 인수로 전달

bash에서 문자열이나 배열을 인수로 전달

excludesgrep에 전달된 정규식 목록인 변수가 있습니다 .

$ echo $excludes
-e re_1 -e re_2 -e re_3...

나는 다음과 같은 일을 할 수 있기를 원합니다.

$ my | pipeline | grep -v "${excludes}"

그러나 이것은 작동하지 않습니다.

grep -v "${excludes[@]}"또한 각 배열 구성원이 "-e blah"인 배열을 사용해 보았습니다 . 이것도 작동하지 않습니다.

이와 같이 프로그래밍 방식으로 매개변수를 전달하려면 어떻게 해야 합니까?

답변1

배열은 작동하지만 옵션과 값을 별도의 요소로 저장해야 합니다.

excludes=(-e "regex1" -e "regex2")
grep -v "${excludes[@]}" ...

관련 정보