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 ?

Réponses:


21

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

  • Système: /etc/profile
  • Utilisateur: ~/.profile

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.