Qual é a diferença entre --init-file e --rcfile?

2

Eu tenho trabalhado com o bash e me deparei com as opções --rcfile e --init-file . A página man do Bash lista-os sob a mesma seção, mas eles parecem se comportar de maneira diferente. Tome o seguinte cenário:

Eu criei um ~/.bash_profile com o seguinte comando:

exec env -i <variables> /bin/bash <option> ~/.bashrc

para os propósitos de um projeto que requer que o terminal seja aberto com uma configuração específica; é instruído a não ler /etc/bash.bashrc e, em vez disso, apenas ler ~/.bashrc . Se <option> for --init-file, ~/.bashrc será lido sem erro. No entanto, --rcfile em seu lugar não parece originar o arquivo.

Qual é a diferença entre esses dois comandos aparentemente idênticos?

    
por BHustus 22.04.2016 / 20:25

1 resposta

2

Eles são sinônimos.

Do arquivo shell.c de bash -4.3 source:

long_args[] = {
....
  { "init-file", Charp, (int *)0x0, &bashrc_file },
....
  { "rcfile", Charp, (int *)0x0, &bashrc_file },
....
};

Como você pode ver, eles são definidos da mesma maneira e também funcionam da mesma maneira.

O parâmetro bashrc_file armazena o nome do arquivo.

Para garantia adicional, o arquivo CHANGES na fonte contém:

  

Adicionado um novo argumento de chamada '--init-file' como sinônimo de   '--rcfile', de acordo com os novos padrões de codificação GNU.

    
por heemayl 22.04.2016 / 21:43