Como executar sh sem ler ~ / .profile?

0

Com bash , por exemplo, é possível passar os --norc --noprofile sinalizadores para impedir a leitura dos arquivos de inicialização do shell.

Qual é o equivalente para sh ?

Se não houver um para sh , existe pelo menos um para dash ?

(Eu tentei hacks com base na desativação temporária de HOME , mas eles parecem ser muito frágeis para o trabalho de produção).

    
por kjo 10.09.2015 / 22:36

2 respostas

1

sh carrega apenas .profile se for um shell de login , ou seja, se for invocado com o argumento 0 iniciando com - . Portanto, se você não quiser que /etc/profile e ~/.profile sejam lidos, invoque o shell com o argumento padrão 0 (o nome do executável).

Se algo estiver executando o shell como um shell de login, você não terá controle sobre argumentos. Caso contrário, o shell não é um shell de login.

Além dos arquivos que são carregados se o shell for um shell de login, há um outro arquivo que algumas implementações de sh carregam: o arquivo indicado na variável de ambiente ENV . Se você estiver chamando um shell e não quiser carregar nenhum arquivo, certifique-se de que ENV não esteja definido.

    
por 11.09.2015 / 03:43
1

Não parece. Você pode encontrar o código no link abaixo. Parece que não há sinalizadores para controlar esse comportamento.

link

    
por 10.09.2015 / 22:51

Tags