Como disse @DopeGhoti em um comentário, as variáveis não são dinâmicas; eles armazenam dados estáticos, não instruções para gerar dados. Se você quiser algo que produza dados diferentes toda vez que for executado, use uma função e, em seguida, faça referência a ela com $()
:
dynamic_thing()
{
echo "string of dynamic_thing $VAR2"
}
function function1()
{
echo "$1 $(dynamic_thing)"
}
function function2()
{
VAR2="$1"
}
function2 1000
function1 "example 1:"
function2 2000
function1 "example 2:"
A saída é:
example 1: string of dynamic_thing 1000
example 2: string of dynamic_thing 2000