Há pelo menos dois motivos para fazer ./something
.
-
Você tem um programa que deseja executar. É inconvenientemente chamado algo como "teste" ou "gato" ou "ps". Normalmente, os shells procuram nomes de programas em diretórios na variável de ambiente
PATH
. Para executar seutest
, você deve digitar./test
, caso contrário,/usr/bin/test
ou algum desses será executado. Isso pode ser muito confuso. -
Você não tem
.
em sua variável de ambientePATH
porque não deseja executar acidentalmente um programa enquanto estiver mexendo no sistema de arquivos. Pessoas realmente horríveis podem deixar um scriptls
em algum diretório. O arquivols
pode conterrm -rf $HOME
. Se o seuPATH
tiver "." no lugar certo, a pessoa horrível pode ser capaz de induzi-lo a deletar tudo em seu diretório pessoal. Você pode certamente colocar "." como a última entrada emPATH
, mas é possível criar circunstâncias em que "." emPATH
causa problemas. Portanto, para executar um programa cujo executável resida no diretório de trabalho atual, você deve prefixar o nome do arquivo com "./".