Administração de Linux
medium
Administração de Linux Question #019e3987
Question Statement
Administração de Linux
#set
#bash-builtins
#shell-variables
#shell-functions
#env
Medium
Qual dos seguintes comandos lista todas as variáveis e funções definidas no Bash?
A
env
B
set
Correct
C
env -a
D
echo $ENV
Official Explanation / Community Explanations
O comando set, quando invocado sem opções, exibe os nomes e valores de todas as variáveis e funções do shell no ambiente Bash atual. Isso inclui variáveis de ambiente e variáveis locais do shell, bem como quaisquer funções definidas.
Como funciona
set: Em Bash,seté um comando interno que, sem argumentos, exibe todas as variáveis do shell (incluindo variáveis de ambiente) e funções. Ele mostra o estado atual do shell, sendo útil para depuração e inspeção.env: Este comando lista apenas as variáveis de ambiente (variáveis exportadas) que são passadas para os processos filhos. Ele não mostra variáveis ou funções locais do shell.env -a: A opção-anão é válida paraenv;envnão possui uma opção-a. Este comando provavelmente produzirá um erro ou será ignorado.echo $ENV: Esta função tenta imprimir o valor da variávelENV. Normalmente,ENVnão está definido por padrão no Bash, portanto, isso resultaria em uma linha vazia. Não lista todas as variáveis ou funções.
Por que a resposta correta está certa?
- O comando
seté a maneira padrão de listar todas as variáveis e funções definidas em um shell Bash. Ele fornece uma visão abrangente do ambiente atual do shell.
Por que as respostas incorretas estão erradas?
env: Exibe apenas as variáveis de ambiente exportadas, não incluindo variáveis locais ou funções.env -a: Opção inválida;envnão suporta-a. Mesmo que mostrasse, ainda assim só exibiria variáveis de ambiente.echo $ENV: Imprime apenas o valor de uma única variável (ENV), que normalmente não está definido. Não lista todas as variáveis ou funções.