변수에 따옴표 붙은 문자열이 포함된 매개변수 준비

변수에 따옴표 붙은 문자열이 포함된 매개변수 준비

Bash 스크립트에서는 여러 위치에서 다음과 같은 프로그램을 호출합니다.

numfmt --suffix=" B" --grouping 231210893

숫자는 매번 다르지만 다른 매개 변수는 동일하게 유지됩니다.

이제 다른 매개변수를 다양한 호출에서 이동하여 중앙에서 정의하고 쉽게 변경할 수 있도록 하려고 합니다. 내 시도는 다음과 같습니다

NUMFMT='--suffix=" B" --grouping'
...
numfmt $NUMFMT 231210893

불행히도 이것은 작동하지 않습니다. 따옴표는 어느 시점에서 제거되며 numfmt설명할 수 없는 추가 인수에 대해 불평합니다 B. 나는 정의와 사용법 모두에서 다른 인용문을 사용하여 다른 많은 버전을 시도했지만 NUMFMT소용이 없었습니다.

이 작업을 올바르게 수행하려면 어떻게 해야 합니까? 너무 복잡하지 않다면 내 버전은 작동하지 않는 반면 다른 버전은 작동하는 이유도 알고 싶습니다.

답변1

배열을 사용해 보세요:

NUMFMT=( --suffix=" B"   '--grouping' )
....
numfmt "${NUMFMT[@]}" 231210893

답변2

이거 좋은 사례 아닌가요 alias?

$ alias nfmtB='numfmt --suffix=" B" --grouping'
$ nfmtB 324235345656
324.235.345.656 B

관련 정보