![제어 시퀀스에 전달된 문자열을 연결합니다.](https://linux55.com/image/217890/%EC%A0%9C%EC%96%B4%20%EC%8B%9C%ED%80%80%EC%8A%A4%EC%97%90%20%EC%A0%84%EB%8B%AC%EB%90%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EC%97%B0%EA%B2%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
echo
Bash 터미널에 파란색 막대를 인쇄하는 호출이 있습니다 .
echo $'\e[48;2;0;0;255m \e[0m'
다음과 같은 변수를 전달하고 싶습니다(이것은 작동하지 않습니다).
rgb_blue=42
echo $'\e[48;2;0;0;"$rgb_blue"m \e[0m
이를 수행할 수 있는 방법이 있습니까? Bash에서 문자열을 연결하는 일반적인 방법을 시도했지만 그 중 아무 것도 작동하지 않았습니다.
답변1
변수는 작은따옴표 내에서 확장되지 않습니다. 하지만 색상이 필요합니다 $' '
. 따라서 두 가지를 결합해야 합니다. 다음과 같이 작동해야 합니다.
echo $'\e[48;2;0;0;'"${rgb_blue}"$'m \e[0m'
또는 더 간단할 수도 있습니다.
printf '\e[48;2;0;0;%dm \e[0m\n' "$rgb_blue"