O dash tem um arquivo rc não interativo sem login? Eu li a página man, que recomenda .profile
shells de login e $ENV
variável de ambiente para shells interativos.
Existe algo que seja executado para shells não interativos sem login, como arquivos ' ou zsh
variável de ambiente ' ? Existe um arquivo equivalente para o shell Bourne também?zshenv
bash
$BASH_ENV
O melhor que posso fazer até agora (embora não seja o ideal, pois exige que eu edite todos os scripts) é editar o shebang da seguinte maneira:
#!/bin/sh /path/to/script
f
onde /path/to/script
contém
f() { echo "/path/to/script"; }
Um shell típico não possui um arquivo rc que é lido para shells não interativos.
.profile
é lido para um shell de login que é identificado por umargv[0]
que começa com um-
.$ENV
é lido por um shell POSIX interativo e, se ainda não estiver definido, o shell usa seu próprio padrão. Isso é.kshrc
paraksh
,.bashrc
parabash
e.shrc
para versões mais recentes doBourne Shell
.O Dash, no entanto, não define um padrão
$ENV
e, portanto, normalmente não o lê, mesmo quando no modo interativo.