. / path / to / a / shell-script-file? (dentro de um script de shell) [duplicado]

5

O que faz . /path/to/a/shell-script-file fazer exatamente? Quero dizer, obviamente, ele executa esse script de shell, mas por que colocar esse . seguido por um espaço antes do caminho / nome do arquivo de script?

    
por Andy O. 12.10.2015 / 03:09

2 respostas

10

. ou source diz ao shell para executar o script em si, em vez de forçar um sub-shell para executá-lo.

Isso permite que o script modifique o ambiente do shell.

Por exemplo, se você tiver um script que defina determinadas variáveis de ambiente ou defina aliases, executá-lo sem . definirá essas coisas em um sub-shell e elas desaparecerão quando o sub-shell terminar. Executá-lo com . irá defini-los no shell atual.

    
por 12.10.2015 / 03:27
1

Digamos que você tenha um arquivo de configurações de ambiente personalizadas (aliases, adições ao $ PATH, etc). Chame o arquivo custom_env .

Geralmente esse material vai em .profile ou .bashrc . Mas às vezes você pode querer isso em um arquivo separado, então você pode aplicá-lo à sua sessão conforme necessário, por exemplo,

. ./custom_env
    
por 12.10.2015 / 06:58

Tags