Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2023

Sistemas OperacionaisLinux
Código
vu197510
Banca
VUNESP
Órgão
Pref SBO
Ano
2023
Cargo
Ana ( )
Considere o seguinte comando digitado no terminal de um sistema operacional Linux.   echo $PWD   Pode-se afirmar corretamente que o retorno do comando será
  1. Aa versão do shell do terminal.
  2. Bo diretório sendo observado no terminal.
  3. Co id do processo do terminal.
  4. Do horário atual do sistema.
  5. Eo nome do usuário.
Revelar gabarito e comentário

GabaritoB — o diretório sendo observado no terminal.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Variáveis de ambiente no Linux

Gabarito: letra B. O comando echo $PWD exibe o valor da variável de ambiente PWD, que armazena o caminho do diretório de trabalho atual (o diretório em que o usuário está "observando" no terminal). Essa é uma variável mantida pelo shell e atualizada a cada mudança de diretório com cd.

No Linux, o shell (interpretador de comandos) mantém um conjunto de variáveis de ambiente que guardam informações sobre o sistema e a sessão do usuário. A variável PWD (do inglês Print Working Directory) é uma delas, e seu conteúdo é exatamente o caminho absoluto do diretório corrente. Quando você digita echo $PWD, o shell substitui $PWD pelo valor armazenado e o comando echo imprime esse valor na tela.

Para entender melhor, é útil comparar com outras variáveis e comandos que a banca costuma usar como distratores:

Variável/Comando

O que retorna

$PWD

Diretório de trabalho atual (caminho absoluto)

$SHELL

Caminho do shell em uso (ex.: /bin/bash)

$USER ou whoami

Nome do usuário logado

$HOSTNAME

Nome da máquina

date

Data e hora atuais

$$ ou $!

PID do processo atual ou do último processo em segundo plano

A pegadinha desta questão está em confundir $PWD com outras variáveis ou comandos. Por exemplo, $SHELL retorna a versão do shell (alternativa A), $$ retorna o PID do processo (alternativa C), date retorna o horário (alternativa D) e $USER retorna o nome do usuário (alternativa E). A banca explora exatamente essa confusão entre variáveis de ambiente e comandos.

Na prática, se você estiver no diretório /home/usuario/projetos e digitar echo $PWD, a saída será /home/usuario/projetos. Esse é o mesmo valor que o comando pwd (sem o $) retorna, mas pwd é um comando que consulta o sistema, enquanto $PWD é uma variável que o shell mantém. Em geral, os dois coincidem, mas podem divergir se a variável for modificada manualmente.

Guarde a distinção: $PWD é uma variável de ambiente (acessada com $), enquanto pwd é um comando. Ambos retornam o diretório atual, mas a forma de acesso é diferente. É exatamente essa diferença que as alternativas tentam confundir.

Alternativa A — ❌ Incorreta

A versão do shell é obtida com echo $SHELL ou echo $BASH_VERSION (no Bash). A variável $SHELL armazena o caminho do interpretador (ex.: /bin/bash), não a versão. A alternativa confunde $PWD com $SHELL.

Alternativa B — ✅ Correta ⟵ GABARITO

$PWD é a variável que contém o caminho do diretório de trabalho atual. O comando echo $PWD imprime exatamente esse caminho, ou seja, o diretório que está sendo "observado" no terminal. É o mesmo resultado do comando pwd.

Alternativa C — ❌ Incorreta

O ID do processo (PID) do terminal é obtido com echo $$ (PID do shell atual) ou com echo $! (PID do último processo em segundo plano). A alternativa confunde $PWD com $$.

Alternativa D — ❌ Incorreta

O horário atual do sistema é obtido com o comando date. A alternativa confunde uma variável de ambiente com um comando de data/hora.

Alternativa E — ❌ Incorreta

O nome do usuário é obtido com echo $USER ou com o comando whoami. A alternativa confunde $PWD com $USER.

NÃO CAIA NESSA!

A banca troca $PWD por outras variáveis de ambiente ($SHELL, $$, $USER) e por comandos (date). O candidato que não sabe o que cada variável armazena acaba marcando uma alternativa errada. Decore o mapa: $PWD = diretório atual, $SHELL = shell, $$ = PID, $USER = usuário, date = hora.

PEGA ESSA DICA!

Na prova, quando aparecer echo $VARIAVEL, pergunte-se: "o que essa variável armazena?". Se a variável for PWD, é o diretório atual. Se for HOME, é o diretório do usuário. Se for PATH, é a lista de diretórios de busca de executáveis. Treine com env para ver todas as variáveis de ambiente do sistema.

Gabarito: letra B

Link permanente: /questoes/vu197510