Làm cách nào tôi có thể nguồn tệp bashrc mỗi khi tôi 'xóa'


13

Đây có thể là một ý tưởng tồi. Càng nghĩ về nó, tôi càng nhận ra rằng có lẽ tôi không nên làm điều đó ... nhưng tôi đã cố gắng và thất bại nên tôi THỰC SỰ muốn biết làm thế nào, ngay cả khi đó là một ý tưởng tồi.

Những gì tôi muốn là cho tập tin bashrc có nguồn gốc mỗi khi tôi chạy clearlệnh. Lý do cho điều này là hoàn toàn vật chất. Tôi có thông tin hệ thống vang lên khi tôi cung cấp bashrc và nó rất tuyệt với tôi và tôi muốn điều đó luôn đứng đầu mỗi khi tôi xóa.
Tôi đã cố gắng thiết lập một số bí danh clearnhưng tôi vẫn chạy vào các vòng lặp vô hạn. Cách khắc phục rõ ràng là thay đổi bí danh thành một thứ khác ngoài việc rõ ràng để tôi có thể chạy lệnh rõ ràng trong bí danh mà không can thiệp nhưng tôi thường gõ rõ ràng đến mức nó ăn sâu vào não tôi vào thời điểm này. Tôi muốn có thể gõ rõ ràng và làm cho nó rõ ràng VÀ nguồn tệp bashrc.


2
Đảm bảo tập lệnh .bashrc của bạn không có hiệu ứng tích lũy. Nếu nó làm bất cứ điều gì như nối các thứ vào đường dẫn của bạn, nó có thể trở nên lộn xộn. Nói chung, .bashrc là để khởi tạo môi trường shell của bạn. nếu nó làm những việc khác, thì tốt hơn là chia chúng ra thành một kịch bản mới và gọi nó cùng với rõ ràng. Ngoài ra, nếu bất kỳ ai khác sử dụng hệ thống của bạn hoặc hỗ trợ bạn, họ có thể gặp phải hành vi không mong muốn vì bạn đã sử dụng lại một lệnh chung.
Joe

@Joe Đó là một điểm tốt về những người khác sử dụng hệ thống của tôi. Các bạn đã đưa ra rất nhiều điều tôi chưa từng nghĩ đến.
CaldwellYSR

Câu trả lời:


27

alias clear='source ~/.bashrc; \clear'

Các \bảo bash mà bạn muốn gọi lệnh bên ngoài, không phải là bí danh.


Ah tuyệt vời, tôi biết nó sẽ là một cái gì đó đơn giản như thế!
CaldwellYSR

13
Bạn có thể muốn làm điều này theo thứ tự khác, hoặc xóa sẽ xóa bất kỳ đầu ra nào .bashrcđược tạo ra. Nhưng đó cũng là một ý tưởng tồi để .bashrctạo ra đầu ra .
cjm

@cjm Vâng, tôi nhận ra rằng sáng nay về đơn hàng. Tôi đã có nó theo đúng thứ tự, tôi chỉ không rõ ` in front of ràng 'Tôi sẽ xem thông tin đó về bashrc và đầu ra. Cảm ơn các liên kết.
CaldwellYSR

một thay thế cho \clearcommand clear
glenn jackman

@CaldwellYSR, phiên bản ngắn là ssh host commandnguồn đó .bashrc. Nếu điều đó tạo ra đầu ra, nó sẽ gây nhầm lẫn cho bất kỳ tập lệnh nào đang cố chạy các lệnh từ xa trên máy chủ và tài khoản của bạn. Bạn có thể không làm điều đó ngay bây giờ, nhưng một ngày nào đó bạn có thể, và sau đó bạn sẽ bối rối tại sao nó không hoạt động.
cjm

2

Viết một kịch bản in thông tin hệ thống mà bạn muốn. Gọi nó từ .bashrcvà từ clearbí danh của bạn .


1

Trong .bashrctập hợp của bạn một bí danh cho clearcác nguồn .bashrcđó sau đó:

alias clear='clear && . ~/.bashrc'

1

Theo nhận xét của Joe ... nếu bạn có "hiệu ứng tích lũy" (hồ sơ của bạn không an toàn để chạy lại nhiều lần), đây là một bản hack để khắc phục điều đó!

alias clear='\clear; exec bash -l'

Điều này thực sự bắt đầu một trình thông dịch mới mỗi khi bạn rõ ràng, đảm bảo nó thực sự là một khởi đầu mới trên mọi phương diện. Tuy nhiên, điều hành có nghĩa là bạn không có quá nhiều quy trình nằm sau đó.

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.