この機能を使用すると、
repr() {
declare -p $1 | cut -d '=' -f 2- > /tmp/.repr
$1=$(</tmp/.repr)
rm /tmp/.repr
}
次のように書くとエラーメッセージが表示されます:
repr test
これは引数を文字列として見ます:
repr() {
declare -p 'test' | cut -d '=' -f 2- > /tmp/.repr
'test'=$(</tmp/.repr)
rm /tmp/.repr
}
名前としてではなく:
repr() {
declare -p test | cut -d '=' -f 2- > /tmp/.repr
test=$(</tmp/.repr)
rm /tmp/.repr
}
どうすれば問題を解決できますか?