Ubuntu executa o arquivo sem ./

0

Usando uma linha shebang, adicionei a funcionalidade para iniciar um script TCL usando o shell de desejo. No entanto, só posso iniciar rapidamente o arquivo digitando ./filename.tcl no terminal. Eu gostaria de saber, existe uma maneira de executar o mesmo script sem digitar o ./ antes do nome do arquivo?

    
por Ranger 04.02.2016 / 05:37

1 resposta

3

Se você deixar de fora o caminho para o arquivo, seu shell irá procurar o comando através da variável $ PATH. O "." é o diretório atual, que fornece um caminho para o arquivo. Suas opções são:

Coloque o arquivo dentro de um subdiretório como bin:

$ bin/filename.tcl

Isso provavelmente não é o que você deseja. O que você pode querer é alterar seu $ PATH para incluir o diretório atual.

$ PATH=$PATH:. filename.tcl

Provavelmente não é aconselhável exportar o diretório atual para a variável $ PATH, pois isso pode causar algum comportamento inesperado. Pode ser melhor exportar o caminho completo para o seu diretório bin. Então, por exemplo, se você estivesse trabalhando em $ HOME / my / code / bin / nome_do_arquivo.tcl, você poderia adicioná-lo ao seu .bashrc (ou qualquer arquivo de configuração do shell que você use)

export PATH="$PATH:$HOME/my/code/bin"

Então você deve ser capaz de executar

filename.tcl

Sem especificar o caminho para o diretório.

    
por Dillon Gilmore 04.02.2016 / 05:47