バックトレースを使用して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
外部プログラムがその環境でこの変数を表示できる方法には2つの可能性があります。
このコマンドのエクスポート
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