Hồ sơ tro / tập tin cấu hình


26

Tôi đang tìm cách để tùy chỉnh các phiên Ash với bộ aliases và whatnots của riêng tôi . Ash tương đương với các bashrctập tin của Bash là gì?

Câu trả lời:


21

Đầu tiên Ash đọc các tệp sau (nếu chúng tồn tại):

  • Hệ thống: /etc/profile
  • Người sử dụng: ~/.profile

8
Với điều kiện là nó được chạy dưới dạng vỏ đăng nhập, không phải là mặc định (ví dụ: trong Linux Linux / Docker)
Jakub Holý

2
@ JakubHolý bạn đã tìm được cách chạy tập lệnh hồ sơ cho shell không đăng nhập chưa?
David Lukac

@DavidLukac - Xem câu trả lời khác của tôi ở đây cho các vỏ không đăng nhập.
spechter

8

Một vỏ không đăng nhập cũng sẽ đọc một tệp nếu được chỉ định trong biến môi trường ENV.

Vì vậy, nếu bạn đặt bằng cách nào đó (Có thể trong ~ / .profile của bạn hoặc một số điều khiển môi trường 'bao trùm' khác), thì bất kỳ shell nào trong tương lai sẽ chạy tập lệnh đó. Rất tiện dụng cho các trường hợp không đăng nhập.

Thật khó để tìm tài liệu về điều này, nhưng nó được xác nhận là hoạt động trên busybox-w32 (chạy trên Windows). Trên thực tế, thật khó để tìm thấy tài liệu tốt về các tính năng của tro.

CẬP NHẬT: Có một loạt các biến thể tro trong tự nhiên. 'ENV' có thể không hoạt động với tất cả chúng. Có một số thông tin về các biến thể ở đây: https://www.in-ulm.de/~mascheck/various/ash/

Có một gợi ý trong đó là một số biến thể tro có thể sử dụng 'SHINIT' thay cho ENV.


Không làm việc cho tôi theo Alpine 3.7.
knite

@knite Busybox's Ash (được sử dụng bởi Alpine) sử dụng ENV .
kirbyfan64sos

Biến ENV hoặc SHINIT chỉ được đặt hoặc được đặt thành một giá trị cụ thể? Tôi đang cố gắng buộc docker đọc .profile trong /root/.profile mà không bắt đầu rõ ràng bằng / bin / sh -l
Leon

@Leon - ENV (hoặc có thể SHINIT) cần chứa đường dẫn đầy đủ của tệp để tải / nguồn. Nhưng điều này chỉ dành cho việc khởi động các biến thể vỏ 'tro' - không phải là vỏ sh hoặc bash thông thường.
spechter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.