Como uso o comando set para encontrar diretórios no meu caminho?

0

Estou fazendo uma aula de Linux neste semestre e uma das perguntas em um laboratório é:

Use o comando set para descobrir todos os diretórios em seu caminho.

Normalmente, eu usaria apenas $PATH para descobrir os diretórios no meu caminho. Mas, obviamente, a questão é nos pedir para usar o set. Eu nunca usei set before e fui fazer man set para descobrir um pouco sobre o comando, mas, para minha surpresa, meu shell (bash) não tinha uma entrada para set. No entanto, eu vejo que há uma página man set aqui link Então essa é a minha primeira pergunta: Por que não há um entrada quando eu uso o comando man set ?

Eu postei em um quadro de discussão que, se eu apenas digitar set , ele mostra um monte de funções que parecem informações de rails que eu instalei na minha máquina. Não faço ideia do que está acontecendo lá .. Meu professor explicou que o conjunto é uma função "incorporada" e é por isso que pode não ter documentação nas páginas de manual.

Depois de examinar a documentação do conjunto on-line um pouco, eu ainda não tenho ideia de como posso fazer isso para cuspir meu $PATH e depois de fazer uma pequena pesquisa eu não encontrei nada que realmente explique set well no contexto que eu preciso usar

Para ficar claro, não estou apenas buscando uma resposta aqui, uma explicação geral que me aponta na direção certa seria muito útil.

TL; DR

  1. Por que posso encontrar uma entrada de homem online para set , mas quando eu uso o comando man set , nenhuma documentação está disponível no meu terminal.

  2. O que pode ser uma maneira geral de usar set para localizar os diretórios em PATH

Obrigado!

edit: a questão completa:

  1. Use o comando set para descobrir todos os diretórios em seu “PATH”. Você obterá muitos dados e precisará canalizar para outro comando para filtrar apenas o que deseja. Por favor, note que o PATH é capitalizado. Cole ou digite os diretórios abaixo. Você receberá um monte de dados para ver se consegue pesquisar para obter a resposta.
por Michael James 30.01.2015 / 04:00

2 respostas

1
  1. Existe uma entrada manual para set : a derivada da especificação do padrão POSIX de set . Para visualizá-lo, você deve ter o manpages-posix-dev instalado (bem, manpages-posix faria, mas você pode instalar ambos). Então você pode fazer:

    man 1posix set
    

    Ou visite a página de manual do Ubuntu: link
    Quando possível, prefira as páginas de manual desse site, uma vez que ele reflete as páginas de manual que podem ser disponibilizadas em seu sistema Ubuntu. Outros sites podem variar significativamente.

  2. O que seu professor provavelmente pretendeu foi que você usaria o comando grep em combinação com set . Este não é o caminho certo ™ por alguns motivos. grep pode ser usado para filtrar linhas da saída de outro comando ou de um arquivo. E a saída padrão de set é ... cada variável definida no seu shell e seus valores, incluindo PATH .

Por fim, você esqueceu de clicar em Próximo enquanto visualiza a documentação do Bash.

    
por muru 30.01.2015 / 04:51
2

Você está correto que set é um shell interno: isso significa que sua documentação está na página de manual do bash (na seção SHELL BUILTIN COMMANDS ) e não em uma página manpage própria. Mais simplesmente, você pode obter informações básicas de uso digitando

help set

no prompt do shell. Quanto a usá-lo para "descobrir todos os diretórios em seu caminho", seria útil ter algum contexto - eu não posso imaginar o que seu instrutor / professor pode estar pretendendo, além de talvez usar set -- $PATH (com um% adequadoIFS field separator) para atribuir elementos de caminho aos parâmetros posicionais do shell e imprimi-los.

    
por steeldriver 30.01.2015 / 04:38