Pergunta

  1. Criei um alias para um comando que usa um arquivo de um dos meus diretórios.

  2. Este alias é carregado em .bash_profile no seguinte formato:alias NAME_OF_COMMAND='ssh -i NAME_OF_KEYFILE USER@IP_ADDRESS'

  3. Quero poder usar o alias de qualquer lugar do meu sistema, exceto o KEYFILE (também conhecido comoNAME_OF_KEYFILE) está presente apenas em um diretório que não faz parte do meu $PATH (é um subdiretório do dropbox).

  4. Tentei adicionar esse diretório ao caminho com o seguinte comando:exportar PATH=$PATH:/NOME/DE/DIRETÓRIO

Pude ver que isso foi nominalmente bem-sucedido porque quando eu insiro $PATH o novo diretório aparece no final da variável $PATH.

  1. No entanto, quando tento executar meu comando ssh, recebo o erro:Aviso:Arquivo de identidade KEYFILE não acessível:Não existe tal arquivo ou diretório.
Foi útil?

Solução

O caminho geralmente é usado para procurar executáveis, não arquivos de dados em geral.

Sua melhor aposta é provavelmente alterar o alias para que o arquivo-chave seja um nome de caminho totalmente qualificado, algo como:

alias myssh='ssh -i $HOME/ssh/mykeyfile.ppk pax@example.com'

Com um arquivo-chave totalmente qualificado, não importa onde você está atualmente no sistema de arquivos (assumindo ssh em si está em algum lugar no seu caminho, é claro, mas isso é uma questão diferente).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top