Если у вас Bash 4.4 или новее, вы можете (ab) использовать расширение ${<i>parameter</i>@P}
, которое расширяет parameter
, как если бы это была строка приглашения:
$ A='/home/userA'
$ B='$A/my_file' # Single quotes to suppress expansion
$ echo "${B@P}"
/home/userA/my_file
$ A='/other/path'
$ echo "${B@P}"
/other/path/my_file
Однако, как указано в комментариях, гораздо проще и удобнее использовать функцию:
$ appendfile() { printf '%s/%s\n' "$1" 'my_file'; }
$ A='/home/user'
$ B=$(appendfile "$A")
$ echo "$B"
/home/user/my_file
$ A='/other/path'
$ B=$(appendfile "$A")
$ echo "$B"
/other/path/my_file