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/testou algum desses será executado. Isso pode ser muito confuso. -
Você não tem
.em sua variável de ambientePATHporque não deseja executar acidentalmente um programa enquanto estiver mexendo no sistema de arquivos. Pessoas realmente horríveis podem deixar um scriptlsem algum diretório. O arquivolspode conterrm -rf $HOME. Se o seuPATHtiver "." 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 "." emPATHcausa problemas. Portanto, para executar um programa cujo executável resida no diretório de trabalho atual, você deve prefixar o nome do arquivo com "./".