Não use um shell interativo para executar comandos. (Esse é o i
em -ic
.)
O shellcmdflag padrão ( -c
) deve funcionar bem.
Se você está especificando -i
para obter o bash para ler seu arquivo .bashrc
(que é um efeito colateral de iniciar um shell interativo), então seria melhor dizer bash para ler um ambiente de inicialização roteiro. Citando o bash manpage:
When bash is started non-interactively, to run a shell script, for example, it looks for the variable
BASH_ENV
in the environment, expands its value if it appears there, and uses the expanded value as the name of a file to read and execute. Bash behaves as if the following command were executed:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
but the value of the
PATH
variable is not used to search for the file name.
Você pode definir variáveis de ambiente dentro do vim com :let