Menu
CoddyTech

Variáveis de ambiente

Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 5 de 24.

Algumas configurações pertencem à pessoa que executa um programa, não às palavras que ela digita depois dele.

Variáveis de ambiente são strings nomeadas que o shell fornece a cada programa. O Node as coloca em process.env. Uma variável não definida é undefined, então ?? fornece um valor padrão.

// CITY=Oslo node weather.js
const city = process.env.CITY ?? 'Lisbon';
console.log(`Weather for ${city}`);

Em um laptop, você define uma variável para uma única execução escrevendo-a antes do comando: CITY=Oslo node weather.js exibe Weather for Oslo, e node weather.js sem nada antes exibe Lisbon. Os nomes diferenciam maiúsculas de minúsculas. O terminal ao lado do seu código não define nenhuma variável, então sempre mostra o valor padrão.

challenge icon

Desafio

Fácil
  • list primeiro imprime um cabeçalho: Notes for <NOTES_OWNER>, ou Notes for you quando a variável não está definida.
  • No notes yet permanece na linha seguinte.

Execute node notes.js list. As verificações também o executam como NOTES_OWNER=Ada node notes.js list.

Experimente você mesmo

// Sua ferramenta de anotações começa aqui.
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    console.log(`Adding: ${text}`);
} else if (command === 'list') {
    console.log('No notes yet');
} else {
    if (command) {
        console.error(`Unknown command: ${command}`);
    }
    console.error('Usage: node notes.js <command> [words]');
    process.exit(1);
}

Todas as lições de Fundamentos de Node.js