Золотий профіль / файл конфігурації


26

Я шукаю спосіб налаштувати Еш-сеанси за допомогою моїх власних наборів aliasес та ін. Що таке Еш-еквівалент bashrcфайлів Баша ?

Відповіді:


21

Еш спочатку читає такі файли (якщо вони існують):

  • Система: /etc/profile
  • Користувач: ~/.profile

8
За умови, що він запускається як оболонка для входу, що не є типовим (наприклад, у Alpine Linux / Docker)
Jakub Holý

2
@ JakubHolý Ви знайшли спосіб запустити сценарій профілю для оболонки, яка не входить у систему?
Девід Лукач

@DavidLukac - Дивіться мою іншу відповідь тут щодо оболонок, які не входять у систему.
спехтер

8

Оболонка без входу також прочитає файл, якщо вказано в змінній середовища ENV.

Тож якщо ви встановите це якось (можливо, у вашому ~ / .profile чи іншому контролі навколишнього середовища "всебічне"), то будь-який майбутній роздвоєний оболонок буде виконувати цей сценарій. Дуже зручно для випадків без входу.

Важко знайти документацію з цього приводу, але це підтверджено, що вона працює на busybox-w32 (працює на Windows). Насправді важко знайти хорошу документацію щодо набору функцій золи.

ОНОВЛЕННЯ: У дикій природі існує ряд варіантів попелу. 'ENV' може не працювати з усіма ними. Тут представлена ​​інформація про варіанти: https://www.in-ulm.de/~mascheck/various/ash/

Там є пропозиція, що деякі варіанти золи можуть використовувати "SHINIT" замість ENV.


Не працює для мене в рамках програми Alpine 3.7.
кніт

@knite Busybox's Ash (використовується Альпійською) використовує ENV .
kirbyfan64sos

Чи слід просто встановити змінну ENV або SHINIT або встановити певне значення? Я намагаюся змусити докера читати .profile в /root/.profile, не починаючи явно з / bin / sh -l
Леон

@Leon - ENV (або, можливо, SHINIT) повинен містити повний шлях файлу до завантаження / джерела. Але це лише для запуску варіантів оболонок "зола" - не для звичайних оболонок sh або bash.
спехтер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.