Como mapear para um binário diferente para o mesmo programa no Linux/Mac?

Como mapear para um binário diferente para o mesmo programa no Linux/Mac?

Suponha which Rque retorne /opt/anaconda3/bin/Re suponha que eu tenha outros Rbinários em outros locais e queira que um binário R diferente seja executado quando eu digitar R.

Como posso fazer isso acontecersem

  • excluindo qualquer um dos binários R
  • movendo quaisquer arquivos

Para verificar se funcionou, Rdeveria rodar /some/other/location/R(e which Rretornaria /some/other/location/R)

Responder1

Você tem poucas escolhas.

  • Altere a PATHvariável para que ela pesquise os diretórios em uma ordem diferente. Isso afetará todos os programas nesses diretórios.
  • No Debian, use alternativas do Debian (Debian e derivados). E só é útil às vezes.
  • Configure um /opt/bin-overridediretório, adicione-o ao cabeçalho do PATHe adicione links simbólicos dos comandos que você deseja executar.
  • Adicione aliases ao seu ~/.bash_aliasesou, /etc/bash.bashrcpor exemplo
    alias R="/some/other/location/R"

informação relacionada