printf
работает в этом случае (поскольку $var_name
стоит отдельно):
$ var_name="foo"
$ printf "%s_bar\n" "$var_name"
foo_bar
Или используйте {braces}
вокруг переменной, чтобы устранить неоднозначность, где имя переменной заканчивается в интерполированной строке:
$ echo "${var_name}_bar"
foo_bar