Tải lại .profile của bash mà không cần đăng xuất và đăng nhập lại


81

Có thể ép buộc bash để tải lại tệp .profile mà không cần đăng xuất và đăng nhập lại không?

Câu trả lời:


102

Điều này sẽ làm việc cho các thiết bị đầu cuối hiện tại:

. ~/.profile

.bashnội dung và từ đồng nghĩa với source, xem man bash:

. tên tệp [ đối số ] tên tệp
nguồn [ đối số ]      Đọc và thực thi các lệnh từ tên tệp trong môi trường shell hiện tại (bằng).


18
Nó sẽ chỉ có hiệu lực trong các thiết bị đầu cuối hiện tại.
enzotib

@enzotib Có cách nào để khắc phục điều đó không?
Matty

14
@Matty: không, để hiển thị các thay đổi cho toàn bộ môi trường đồ họa, bạn chỉ có thể khởi động lại phiên
enzotib

2
Vấn đề duy nhất với điều này là nếu bạn xóa thứ gì đó khỏi đường dẫn thì nó sẽ không có hiệu lực cho đến khi bạn khởi động lại
Aras

1
@Aras tạo ra một ĐIỂM QUAN TRỌNG đáng được mở rộng: Nếu một cái gì đó bị xóa khỏi ~/.profile, thay đổi đó sẽ không có hiệu lực sau khi . ~/.profiletải lại. Ví dụ: thêm một hàm vào ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }, sau đó ~/.profile- CÔNG TRÌNH CNTT. Bây giờ loại bỏ chức năng đó từ ~/.profile, sau đó . ~/.profilemột lần nữa. Chức năng vẫn khả dụng - chỉ khởi động lại (đăng xuất & đăng nhập) sẽ xóa nó.
Seamus

13

Nếu bạn không muốn bắt đầu một trình bao mới nhưng thực thi tập lệnh trong trình bao hiện tại, bạn lấy nguồn đó:

source script_name.sh

source = = .

Bash sourcedựng sẵn là một từ đồng nghĩa với lệnh Bourne shell .(dot).

lịch sự - tldp.org

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.