Um executável não-shell 'source' um arquivo para o shell ativo?

0

Quando estou usando um shell, é (AFAIK) impossível que um script de shell que contenha uma linha source somefile afete o shell pai (a menos que o próprio script tenha sido originado, é claro).

Eu quero saber se um executável não shell (escrito em C, por exemplo) pode efetivamente source um arquivo e ter tudo disponível para o shell como se eu tivesse digitado source somefile na linha de comando. / p>     

por iconoclast 28.03.2017 / 16:41

1 resposta

2

$ type source
source is a shell builtin

É assim que é possível (isso fez mais sentido com sua pergunta original mais longa).

Não, você não pode replicar o comportamento de source em um programa externo (além de explorar truques de buffer de entrada). É o mesmo que com cd : somente o shell pode modificar seu próprio estado interno, portanto, somente os integrantes do shell podem modificar o estado interno do shell.

    
por 28.03.2017 / 16:43

Tags