Perfil de Ash / arquivo de configuração


26

Estou procurando uma maneira de personalizar as sessões do Ash com meus próprios conjuntos de aliases e outros itens. Qual é o equivalente do Ash nos bashrcarquivos do Bash ?

Respostas:


21

O Ash lê primeiro os seguintes arquivos (se existirem):

  • Sistema: /etc/profile
  • Do utilizador: ~/.profile

8
Desde que seja executado como o shell de login, o que não é o padrão (por exemplo, em Alpine Linux / Docker)
Jakub Holý

2
@ JakubHolý, você encontrou uma maneira de executar o script de perfil para o shell que não é de login?
precisa

@DavidLukac - Veja minha outra resposta aqui para shells que não são de login.
spechter

8

Um shell sem logon também lerá um arquivo se especificado na variável de ambiente ENV.

Portanto, se você definir isso de alguma forma (talvez em seu perfil ~ / .prof, ou em algum outro controle de ambiente "abrangente"), quaisquer futuros shells bifurcados executarão esse script. Muito útil para casos sem login.

É difícil encontrar documentação sobre isso, mas está confirmado que ele funciona no busybox-w32 (executando no Windows). De fato, é difícil encontrar boa documentação sobre o conjunto de recursos do ash.

ATUALIZAÇÃO: Há uma variedade de variantes de cinzas na natureza. 'ENV' pode não funcionar com todos eles. Há algumas informações sobre variantes aqui: https://www.in-ulm.de/~mascheck/various/ash/

Há uma sugestão de que algumas variantes de cinzas possam usar 'SHINIT' no lugar de ENV.


Não está funcionando para mim no Alpine 3.7.
Knite

A Ash do Busybox da @knite (usada pela Alpine) usa ENV .
kirbyfan64sos

A variável ENV ou SHINIT deve ser definida ou definida para um valor específico? Estou tentando forçar o estivador a ler .profile em /root/.profile sem iniciar explicitamente com / bin / sh -l
Leon

@Leon - ENV (ou talvez SHINIT) precisa conter o caminho completo do arquivo a ser carregado / fonte. Mas isso é apenas para a inicialização de variantes de shell 'ash' - não as conchas comuns sh ou bash.
spechter 19/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.