2016-11-15 3 views
0

で環境変数にアクセスすることはできません。私は錆が知っているすべてのキーと値を印刷する場合は、次のようにコードの一部がある錆

myawesomename$env | grep DISCORD 
DISCORD_TOKEN=you'llneverknow 

は:

for (key, value) in env::vars() {            
    println!("{}: {}", key, value);          
} 

これは、環境変数を表示しません

私の環境変数を示しています。

同様の注記では、env | grep CARGOを実行すると、CARGO変数は存在しませんが、それらはRustコードで印刷されます。

Rustが見ているプロファイル/システム環境変数(私が想定しているのは、プロセスが起動される環境内の変数)について、根本的に理解できないことがあります。

更新日:変更内容はわかりませんが、現在は動作しています。私は皆の時間に侵入して謝罪します。私がこれを調べるのを手伝ってくれてありがとう。

+1

「youlllleverknow」は、この質問の代わりにすぎませんか?実際のボットトークンにASCII以外の文字がありますか? –

+1

@ LukasKalbertodt you'llneverknowに非ASCII文字があると言っていますか? –

+1

@BillWoodgerいいえ、それは問題ありません。しかし、それが置換文字の場合、実際のトークンには非ASCII文字が含まれることがあります。 –

答えて

0

私は答えを得たので、この質問を元に戻しました。しかし、それは質問をする前にすべての要因を調べなかったからです。

cargo runを実行したときに機能しましたが、sudo cargo runを実行しても機能しませんでした。私は別のプロセスのメモリを読み込もうとしていたので、sudoで実行していました。 sudoプロファイルには独自のenv環境があり、sudoに進む前に環境をリセットします。

はこれを修正するために、私は sudo visudoを実行し、そこからこのライン

Defaults env_keep += "DISCORD_TOKEN'

を挿入し、それが働きました。

This link私は答えを得ました。

関連する問題