Mac Gnu-Screen không tải mặc định .bash_profile


14

Tôi có một loạt các cài đặt tùy chỉnh trong bash_profile của mình. Khi tôi sử dụng màn hình gnu, tôi nhận ra rằng màn hình của tôi không thực thi source /Users/disappearedng/.bash_profile. Tôi cố gắng đặt nguồn /Users/disappearedng/.bash_profile trong tệp .screenrc của mình nhưng sau đó nó phàn nàn rằng bí danh không phải là một lệnh ... (Tôi đoán rằng screenrc cần lệnh cụ thể của screenrc).

Tôi đã thử thay đổi .bash_profile của tôi thành .profile hoặc .bash_rc. Không có công việc đó.

Có ai giúp đỡ không?

Câu trả lời:


17

Tệp .bash_profile (cũng như tệp .profile) được tải cho các vỏ đăng nhập, các vỏ không đăng nhập sử dụng .bashrc (không có ký hiệu _). Có một dòng trong tệp .screenrc cho biết màn hình sẽ sinh ra lớp vỏ nào khi bắt đầu một cửa sổ màn hình (khi không khởi chạy một chương trình cụ thể như ứng dụng cửa sổ). Trong tệp .screenrc của tôi, đây là như vậy (bao gồm cả nhận xét):

# shell:  Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
  shell -$SHELL

Kiểm tra tệp .screenrc của bạn và xác minh rằng dòng shell có dấu gạch ngang phía trước nó. Bằng cách có biểu tượng dấu gạch ngang đó và buộc một vỏ đăng nhập, bạn sẽ có được .bash_profile có nguồn gốc. Biến $ SHELL trong .screenrc của tôi đang sử dụng giá trị shell được cung cấp bởi trình bao khởi chạy màn hình (nói chung đối với tôi đó là bash).

Trong trường hợp bạn đang tự hỏi, sự khác biệt lớn nhất mà tôi có thể khám phá giữa các vỏ đăng nhập so với các vỏ không đăng nhập là vỏ không đăng nhập thường là thứ được viện dẫn để thực thi các tập lệnh.


À cảm ơn! Ngoài ra, có cách nào để dễ dàng cho mình biết rằng cửa sổ hiện tại này nằm trong màn hình gnu không?
biến mất

tùy chọn hardstatus trong tệp .screenrc có thể được sử dụng để đảm bảo rằng bạn có thể xác định rằng bạn đang ở trong màn hình (cùng với một số cài đặt tiện lợi khác mà tôi hiểu). Trang man màn hình nên có các chi tiết về cách định cấu hình nó (không biết những thứ đó ở trên đỉnh đầu tôi).
Nốt ruồi ma trận

2

Tìm nguồn cung ứng .bash_profilethực sự là một cái gì đó khác biệt mà ứng dụng thiết bị đầu cuối Mac thực hiện mà hầu hết các ứng dụng thiết bị đầu cuối không làm được. ~/.bashrcTuy nhiên, màn hình sẽ đọc , mỗi khi bạn sinh ra một vỏ mới.

Nếu bạn đổi tên ~/.bash_profilethành ~/.bashrc(không có dấu gạch dưới giữa bash và RC, như trong câu hỏi của bạn), thì nó sẽ có nguồn gốc.

Tuy nhiên, chiến lược ưa thích của tôi là đặt tất cả các cài đặt của tôi vào bashrc, sau đó lấy nguồn từ đó bash_profilenhư sau:

[ -f .bashrc ] && . .bashrc

-1

Bạn không cần thay đổi bất kỳ tệp cấu hình nào, nếu bạn viết tất cả các cài đặt của mình .bash_profile, giống như bạn thường làm để thiết lập thiết bị đầu cuối của mình và tạo một liên kết có tên .bashrctrỏ đến .bash_profilephiên của bạn thông qua:

$ ln -s ~/.bash_profile ~/.bashrc

Mọi thay đổi được thực hiện đối với một trong các tệp được lưu trữ .bash_profilenhưng cũng có thể truy cập được .bashrc.

Hạn chế duy nhất là bạn không thể thêm cài đặt vào một trong các tệp cấu hình.


Bạn có thể mở rộng dựa trên câu trả lời này một chút không? Bạn đã thực sự giải thích làm thế nào điều này sẽ giải quyết vấn đề.
bwDraco

-1

Các vỏ đăng nhập Linux nguồn không đăng nhập bằng cách thêm dòng sau trong trường hợp tệp người dùng:

[[ -f ~/.bashrc ]] && . ~/.bashrc

Giải pháp này đã được đăng.
slhck

Ngoài ra, nó dường như là ngược.
G-Man nói 'Phục hồi Monica'
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.