2012-09-28 13 views
7

Nel mio file .bashrc:L'accesso ai ambiente utente variabile

export DART_SDK=/home/nicolas/dart/dart-sdk 

In linea di comando, funziona quando "Echo" di esso. Ma non riesco a vedere questa variabile utente dart con, vedo solo variabile di sistema ma non la mia:

var env = Platform.environment; 
env.forEach((k,v) => print("Key=$k Value=$v")); 

ho provato:

  • su Windows e funziona
  • su Mac, ma non lo fa lavoro

La mia variabile utente non è ben definita? Il mio codice è cattivo? È un bug?

risposta

9

utilizzando il seguente codice:

import 'dart:io'; // Server side/command line only package. 

main() { 
    Map<String, String> env = Platform.environment; 
    env.forEach((k, v) => print("Key=$k Value=$v")); 
} 

sono stato in grado di ignorare le variabili di ambiente sia su Windows e Mac. Su Mac ho dovuto aggiungere la riga a .bash_profile (.bashrc non è caricato sul mio Mac).

John

Ecco il link per docs dardo: https://api.dartlang.org/1.13.0/dart-io/Platform-class.html

+0

Grazie, quindi il mio codice è buona. Dopo alcuni test, il comportamento è strano: quando corro da Dart Editor, non riesco a vedere la mia variabile utente (linux e Mac OS), ma lo eseguo con la riga di comando funziona ... –

+0

Ciao Nicolas, questo è probabile perché Dart L'editor non è in esecuzione all'interno di una shell bash ma generato dal Dock o dal Finder che ha il proprio set di variabili di ambiente. Vedi questo post per sapere come controllare le variabili d'ambiente per l'applicazione lanciata- http://stackoverflow.com/questions/603785/environment-variables-in-mac-os-x – Cutch

Problemi correlati