Profil de frêne / fichier de configuration

26

Je cherche un moyen de personnaliser les sessions Ash avec mes propres ensembles d' aliases et autres joyeusetés. Quel est l'équivalent Ash des bashrcfichiers Bash ?

reg
la source

Réponses:

21

Ash lit d'abord les fichiers suivants (s'ils existent):

  • Système: /etc/profile
  • Utilisateur: ~/.profile
reg
la source
8
Pourvu qu'il soit exécuté en tant que shell de connexion, ce qui n'est pas le cas par défaut (par exemple dans Alpine Linux / Docker)
Jakub Holý
2
@ JakubHolý avez-vous trouvé un moyen d'exécuter un script de profil pour un shell sans connexion?
David Lukac
@DavidLukac - Voir mon autre réponse ici pour les shells sans connexion.
spechter
8

Un shell sans connexion lira également un fichier s'il est spécifié dans la variable d'environnement ENV.

Donc, si vous le définissez d'une manière ou d'une autre (peut-être dans votre ~ / .profile, ou un autre contrôle d'environnement `` global ''), tous les futurs shells fourchus exécuteront ce script. Très pratique pour les cas sans connexion.

Il est difficile de trouver de la documentation à ce sujet, mais il est confirmé qu'il fonctionne sur busybox-w32 (fonctionnant sous Windows). En fait, il est difficile de trouver une bonne documentation sur l'ensemble des fonctionnalités de ash.

MISE À JOUR: Il existe une gamme de variantes de cendres dans la nature. 'ENV' peut ne pas fonctionner avec tous. Il y a quelques informations sur les variantes ici: https://www.in-ulm.de/~mascheck/various/ash/

Il y a une suggestion là-dedans que certaines variantes de frêne peuvent utiliser 'SHINIT' à la place d'ENV.

spectateur
la source
Ne fonctionne pas pour moi sous Alpine 3.7.
knite
Ash de @knite Busybox (utilisé par Alpine) utilise ENV .
kirbyfan64sos
La variable ENV ou SHINIT doit-elle simplement être définie ou définie sur une valeur spécifique? J'essaie de forcer docker à lire .profile dans /root/.profile sans commencer explicitement par / bin / sh -l
Leon
@Leon - ENV (ou peut-être SHINIT) doit contenir le chemin complet du fichier à charger / source. Mais ce n'est que pour le démarrage des variantes de shell «ash» - pas les sh sh ou bash communs.
spechter