Por que eu tenho uma barra dupla aqui?

1
$ which mycommand
/home/t/program_files/document/other edits//mycommand

Por que eu tenho duas barras // aqui?

    
por Tim 22.03.2015 / 22:57

2 respostas

5

which pesquisa seu PATH. Acontece que mycommand é encontrado em uma entrada $PATH com uma barra à direita: /home/t/program_files/document/other edits/ . which concatena o diretório, um / como separador e o nome do comando para criar o nome do arquivo a ser verificado; quando o diretório tem uma barra final, isso resulta em duas barras.

Várias barras são equivalentes a uma única , então isso é completamente inocente.

P.S. Por que não usar "which"? O que usar então?

    
por 22.03.2015 / 23:01
2

Isso porque você colocou uma barra vertical ( / ) ao adicionar o local /home/t/program_files/document/other edits in $PATH .

Você pode ter usado:

PATH=$PATH:/home/t/program_files/document/other\ edits/

Você precisa usar para se livrar de / :

PATH=$PATH:/home/t/program_files/document/other\ edits

Embora isso não seja um grande problema, o AFAIK como shell tratará // as / .

    
por 22.03.2015 / 23:00