함수 매개변수를 문자열 대신 이름으로 전달

함수 매개변수를 문자열 대신 이름으로 전달

이 기능을 사용하면:

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
}

문제를 어떻게 해결할 수 있나요?

관련 정보