qual argumento hash -t requer?

0

Todos os caminhos para diretórios com comandos do Linux são armazenados em uma variável chamada $ PATH. Quando um comando é chamado, seu caminho é armazenado adicionalmente em um bloco de anotações chamado hash para acelerar a pesquisa da próxima vez.

O hash é um comando interno do shell e help hash fornece uma descrição muito curta. Uma opção -t é descrita como a impressão de todos os caminhos coletados no hash e, portanto, eu digitei:

hash -t

certificando-me de que obteria uma listagem do conteúdo do hash.

No entanto, tenho isto:

bash: hash: -t: option requires an argument

  • Qual argumento é necessário?

  • O que estou fazendo de errado?

  • Como mostrar o conteúdo da tabela de hash?

por sharkant 16.05.2017 / 22:14

1 resposta

3

Isso é hash , conforme implementado em bash , presumo?

hash -t requer um argumento, porque é um pedido para o local com hash de um ou vários utilitários:

$ hash -t ls
/bin/ls

$ hash -t ls man
ls      /bin/ls
man     /usr/bin/man

Como o texto da ajuda diz:

print the remembered location of each NAME, preceding each location with the corresponding NAME if multiple NAMEs are given

Para mostrar todos os utilitários com hash, use hash sem nenhum argumento:

$ hash
hits    command
   1    /usr/bin/man
   2    /bin/ls

Novamente, como diz o texto de ajuda:

If no arguments are given, information about remembered commands is displayed.

    
por 16.05.2017 / 22:30

Tags