BASH hỗ trợ $PROMPT_COMMAND
biến môi trường xác định lệnh sẽ được thực thi trước bất kỳ dấu nhắc tương tác cấp đầu tiên nào. Tôi đang tìm kiếm một cân bằng ZSH về điều đó.
Các tài liệu nói rằng có một chức năng precmd
tôi có thể xác định để đạt được điều đó; tuy nhiên, tôi không biết làm thế nào để xác định nó từ một biến môi trường.
Tôi đã xem xét việc chuyển một biến môi trường sẽ khiến ZSH đọc một tệp chứa định nghĩa của hàm đó, nhưng ZSH dường như không hỗ trợ những thứ như vậy : nó chỉ đọc các tệp toàn cầu và sau đó là các tệp cho mỗi người dùng. Tôi có thể thay thế chúng nhưng tôi không thể thêm vào chúng mà không sửa đổi các tệp mà tôi không thể làm được.
Vậy làm cách nào để xác định móc nối nhanh trong ZSH thông qua biến môi trường, giống như tôi đang sử dụng $PROMPT_COMMAND
trong BASH?
exit
và exec
, ok ;)
)
start() { eval "$@"; echo post-command-code }
và sau đó sử dụng một ràng buộc zle để thực thi dòng lệnh với tiền tố start
?
DEBUG
bẫy là một phát hiện hay, nhưng bạn vẫn có vấn đề làm thế nào để xác định nó. Tôi đã mở rộng câu trả lời của mình một lần nữa, nhưng tôi để bạn viết câu trả lời của riêng bạn về giải pháp bẫy DEBUG. :)