Uma solução alternativa que pode funcionar para você é criar vários scripts de wrapper em um diretório local e colocá-los em seu caminho de pesquisa em vez do diretório remoto. Isso não é uma panacéia: você precisa atualizar os wrappers toda vez que o conteúdo do diretório remoto mudar. Mas desta forma não há acesso ao arquivo remoto, a menos que você esteja executando o programa.
Você precisa de um link simbólico e não de um script de wrapper, pois a conclusão às vezes verifica se os arquivos são executáveis, o que significa uma chamada de stat
nos arquivos. Mas todos os wrappers podem ser links simbólicos para um único arquivo executável.
-
De uma vez por todas, crie um diretório local
~/remote-scripts
e um arquivo executável~/remote-scripts/.remote-wrapper
contendo#!/bin/sh exec "/remote/path/bin/${0##*/}" "$@"
-
Para atualizar
~/remote-scripts
, execute este snippet:find ~/remote-scripts -type l -exec rm {} + for x in /remote/path/bin/*; do ln -s .remote-wrapper ~/remote-scripts/"${x##*/}"; done
-
Coloque
~/remote-scripts
no seuPATH
.