Com esta função:
repr() {
declare -p $1 | cut -d '=' -f 2- > /tmp/.repr
$1=$(</tmp/.repr)
rm /tmp/.repr
}
Dá uma mensagem de erro quando escrevo:
repr test
Isso vê o argumento como string:
repr() {
declare -p 'test' | cut -d '=' -f 2- > /tmp/.repr
'test'=$(</tmp/.repr)
rm /tmp/.repr
}
E não como nome:
repr() {
declare -p test | cut -d '=' -f 2- > /tmp/.repr
test=$(</tmp/.repr)
rm /tmp/.repr
}
Como posso resolver o problema?