Em /etc/sysconfig/*
scripts, pode-se ter name=value
atribuições comuns, é claro.
Mas esses arquivos são interpretados por .
um shell, não são? Existem restrições sobre a linguagem shell que pode ser usada de forma legítima (ou seja, de acordo com quaisquer regras que existam para o sistema operacional) e portátil (ou seja, em vários sistemas operacionais)? Ou pode-se usar a linguagem shell arbitrária (POSIX)?
Estou pensando em coisas como:
- tarefas complexas:
abc=/var/${logdir}
- fonte de scripts comuns de "biblioteca" ou "auxiliar"
Esta documentação do RedHat e esta documentação do OpenMandriva se aprofundam nas várias opções individuais que podem ser definidas, mas são omitidas no formato fundamental real desses arquivos.
(O equivalente a /etc/sysconfig
no Debian é /etc/default
, que tem regras sobre o formato. O Manual de Políticas do Debian exige que os arquivos em /etc/default
"devem conter apenas configurações de variáveis e comentários no formato POSIX.1-2017 sh
". Esta questão é sobre o RedHat /etc/sysconfig
.)
curto: depende
mais tempo:
Redhat e Mageia/Mandriva usam um link simbólico para
/bin/sh
apontar parabash
, então quando esses são scripts, você terá o bash agindo como sh, ou o próprio bash, dependendo se o script de origem usa bash ou "sh". Existem ambos os casos para ambos os sistemas.Nem todos os arquivos
/etc/sysconfig
são scripts; alguns (como/etc/sysconfig/partmon
na minha máquina Mageia6 ousystat.ioconf
no meu CentOS 7) são apenas dados. Algo lê isso, mas não é feito por um script de origem.