Кусок кода выглядит следующим образом:не удается получить доступ к переменной окружения в Русте
// Log in to Discord using a bot token from the environment
let discord = Discord::from_bot_token(
&env::var("DISCORD_TOKEN").unwrap()
).expect("login failed");
Я получаю ошибку о том, что не может найти переменную окружения DISCORD_TOKEN
.
Моя среда действительно показывает переменную:
myawesomename$env | grep DISCORD
DISCORD_TOKEN=you'llneverknow
Если я печатаю все ключи и значения, которые Rust знает:
for (key, value) in env::vars() {
println!("{}: {}", key, value);
}
Он не показывает переменную окружения.
На аналогичной ноте, когда я делаю env | grep CARGO
, никаких переменных CARGO не существует, но они печатаются в коде ржавчины.
Есть что-то, что я принципиально не понимаю о переменных профиля/системы env, на которые смотрит Rust (которые, я предположил, являются переменными в среде, в которой запущен процесс).
ОБНОВЛЕНИЕ: Я не знаю, что меняю, но он работает сейчас. Прошу прощения за вторжение во все время. Спасибо, что помогли мне разобраться в этом.
Просто для того, чтобы быть уверенным: 'you'llneverknow' является просто заменой для этого вопроса? Существуют ли какие-либо символы, отличные от ASCII, в реальном знаке бота? –
@LukasKalbertodt Вы говорите, что символы, отличные от ASCII, в любом случае неизвестны? –
@BillWoodger Нет, все в порядке. Но если это замена, реальный токен может содержать символы, отличные от ASCII. –