제어 시퀀스에 전달된 문자열을 연결합니다.

제어 시퀀스에 전달된 문자열을 연결합니다.

echoBash 터미널에 파란색 막대를 인쇄하는 호출이 있습니다 .

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"

관련 정보