Como executar o comando source a partir do arquivo sh

6

Eu tenho um arquivo chamado install.sh e dentro desse arquivo eu escrevo algo para o arquivo $HOME/.bashrc e depois disso eu devo chamar o comando source . No terminal eu posso digitar source $HOME/.bashrc , mas não posso fazer isso no script bash. Se eu escrevo isso para o arquivo, então recebo o seguinte erro:

./install.sh: 1: ./install.sh: source: not found

Estou usando o Ubuntu 12.04 x64.

Alguma sugestão de como fazer isso?

    
por golobich 25.08.2015 / 21:35

2 respostas

10

Se você deseja programar um script bash, altere sua shebang (primeira linha do arquivo de script ) para

#!/bin/bash
    
por 25.08.2015 / 21:43
0

Talvez uma forma mais simples de realizar o que você precisa é usar a opção -f [filename] fornecida no bash e carregar toda a variável de ambiente necessária a partir desse arquivo rc alternativo. O buliten da fonte (função interna) não foi feito para funcionar como você está usando aqui. Os bulitens "., Include e source" deveriam incluir recursos de biblioteca (código de função reutilizável) em scripts chamados.

bash -l -f /path_to_file/.foo_rcfile

    
por 26.08.2015 / 04:29