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
変数は一重引用符内では拡張されません。しかし、色が必要です$' '
。したがって、2つを組み合わせる必要があります。次のように動作する必要があります。
echo $'\e[48;2;0;0;'"${rgb_blue}"$'m \e[0m'
またはもっと簡単かもしれません。
printf '\e[48;2;0;0;%dm \e[0m\n' "$rgb_blue"