역추적을 사용하여 Rust 프로그램을 실행하려면 환경 변수 RUST_BACKTRACE를 1로 설정하고 프로그램을 실행해야 합니다. 따라서 경험이 없는 bash 사용자의 첫 번째 추측은 다음과 같습니다.
$ RUST_BACKTRACE=1 && cargo run
...
note: Run with `RUST_BACKTRACE=1` for a backtrace.
그러나 출력에는 추적이 없습니다. 이제 변수가 설정되었는지 확인해 보겠습니다.
RUST_BACKTRACE=1 && echo $RUST_BACKTRACE && cargo run
1
...
note: Run with `RUST_BACKTRACE=1` for a backtrace.
최종 작업 솔루션은 다음과 같습니다.
RUST_BACKTRACE=1 cargo run
어떻게 작동하는지 설명해 주세요.
답변1
외부 프로그램이 해당 환경에서 이 변수를 볼 수 있는 방법에는 두 가지 가능성이 있습니다.
이 명령을 위해 내보내기
RUST_BACKTRACE=1 cargo run
이 경우 변수는 셸의 일부가 아닙니다. 이전이었다면 그 값은 변하지 않습니다.
수출하다
쉘은 모든 변수를 실행하는 프로그램으로 자동으로 내보내지 않습니다(모든 쉘 변수가 환경의 일부가 되는 것은 아닙니다).
export RUST_BACKTRACE=1 # or declare -x RUST_BACKTRACE=1 cargo run
RUST_BACKTRACE=1 export RUST_BACKTRACE # or declare -x RUST_BACKTRACE cargo run
set -a # Each variable or function that is created or modified is given the export attribute RUST_BACKTRACE=1 cargo run