.bashrc
Tập tin của tôi chứa một dòng cho hiệu ứng này:
alias prog="/path/to/script.sh $(find $(pwd) -name prog)"
Khi tôi nhận xét dòng này, Bash bắt đầu gần như ngay lập tức khi tôi mở một thiết bị đầu cuối mới. Với dòng này, có độ trễ 4-5 giây trước khi con trỏ của tôi xuất hiện.
Loại bỏ các lệnh lồng nhau $(pwd)
, vv cũng tăng tốc trở lại. Tại sao chuyện này đang xảy ra? Tôi vẫn có thể sử dụng các lệnh lồng nhau bằng cách nào đó?
find
? Một khi bạn cài đặt nó, bạn biết nó ở đâu. Ngay cả khi bạn cập nhật nó thường xuyên và thay đổi tên của nó, bạn vẫn có thể duy trì một liên kết tượng trưng cho nó để nó luôn có sẵn dưới một tên cố định.
find
lệnh, được thực thi khi khởi động và có thể mất nhiều thời gian để thực thi, tùy thuộc vào cấu trúc thư mục. Nếu bạn sử dụng dấu ngoặc đơn thay vì dấu ngoặc kép,find
sẽ được thực thi khi chạy, khi lệnhalias
được gọi. Nó phụ thuộc vào thư mục làm việc bạn muốn sử dụng, hiện tại vào thời gian khai báo hoặc tại thời gian chạy. Nhân tiện$(pwd)
là một cách khá không hiệu quả để thể hiện.
hay$PWD
.