Por que o padrão .bashrc está configurado para retornar imediatamente se não estiver executando interativamente?

6

No padrão .bashrc do Ubuntu, tem isto:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

Alguém sabe por que isso está aí? Existe algo no bashrc que é ruim de executar se o shell for executado de forma não interativa?

    
por Kenny Ho 02.10.2013 / 23:00

1 resposta

4

O ponto do arquivo .bashrc é que ele configura o shell para ser mais conveniente para usuários interativos. Alias útil, cores bonitas, prompts úteis, variáveis de ambiente comuns, esse tipo de coisa.

E algumas dessas conveniências podem quebrar scripts não interativos. Por exemplo:

'alias rm='rm -i''

Não funcionaria de forma não interativa (graças a zwets).

    
por superdesk 02.10.2013 / 23:16

Tags