![큰따옴표 사이에서 bash 중괄호 확장의 전체 결과를 얻을 수 있습니까?](https://linux55.com/image/199463/%ED%81%B0%EB%94%B0%EC%98%B4%ED%91%9C%20%EC%82%AC%EC%9D%B4%EC%97%90%EC%84%9C%20bash%20%EC%A4%91%EA%B4%84%ED%98%B8%20%ED%99%95%EC%9E%A5%EC%9D%98%20%EC%A0%84%EC%B2%B4%20%EA%B2%B0%EA%B3%BC%EB%A5%BC%20%EC%96%BB%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
Bash 중괄호 확장을 사용하고 큰따옴표 사이의 따옴표의 최종 결과를 얻고 싶습니다.
seq
다음을 사용해야만 이 결과를 얻을 수 있었습니다.
echo '"'$(seq 1 5)'"';
출력(예상 출력):
"1 2 3 4 5"
하지만 대괄호 확장만 시도하면 다음과 같습니다.
echo '"'{1..5}'"'
그러나 불행히도 이로 인해 다음과 같은 결과가 발생합니다.
"1" "2" "3" "4" "5"
seq
( 명령을 사용하여) 위와 동일한 결과를 얻을 수 있지만 (외부 명령을 사용하지 않고) bash 중괄호 확장만 사용하는 것이 가능합니까 ?
답변1
이와 같이? (배시와 함께 echo
)
$ echo -n \"; echo -n {1..5}; echo \"
또는 (기본값으로 가정 IFS
):
$ quoteme() { printf \"; printf "$*"; printf '"\n'; }
$ quoteme {1..5}
"1 2 3 4 5"