\x31
— это символ 1
, а \x35
— это 5
, поэтому в этом случае вам не нужно использовать escape-последовательности.
CURSOR="\x1b[%s q"
printf "${CURSOR}" 1
printf "${CURSOR}" 5
В Bash вы можете комбинировать разные кавычки и даже строки без кавычек в одном и том же «слове», поэтому я, вероятно, напишу a=("a1" "a2" "a3"*)
. Таким образом, например, если a
в конечном итоге будет вытащено как prefix=a
, вы можете просто сделать a=("${prefix}1" "${prefix}2" "${prefix}3"*)
.