Có ai biết ý nghĩa của việc đặt lệnh 'thời gian' trước mỗi lệnh trong phiên bash không?
Có ai biết ý nghĩa của việc đặt lệnh 'thời gian' trước mỗi lệnh trong phiên bash không?
Câu trả lời:
Xin lỗi vì trả lời sai trước đây, tôi đã hiểu sai câu hỏi của bạn.
Để có thời gian được thêm vào trước mỗi lệnh bạn thực thi trên trình bao, bạn có thể làm một cái gì đó như thế này
bind 'RETURN: "\e[1~time \e[4~\n"'
Điều này sẽ rebind khóa trở lại. Bây giờ, mỗi khi bạn nhấn return thay vì viết một dòng mới, nó sẽ đi đến đầu dòng, nhập văn bản 'thời gian' và một khoảng trắng, đi đến cuối dòng và nhập dòng mới \ n từ đó tạo ra dòng mong muốn hiệu ứng.
Nếu bạn không muốn hy sinh Khóa Enter của mình, bạn có thể tạo Khóa nhập chuẩn 'giây' như F12 bằng cách ràng buộc lệnh như thế này
bind '"\e[24~": "\e[1~time \e[4~\n"'
Bây giờ thay vì thay thế phím trả về, bạn đã ràng buộc F12.
Nền tảng của tất cả những điều này là bash sử dụng đường dẫn GNU để đọc lệnh. Vì vậy, readline sẽ là điểm khởi đầu tốt cho thao tác lệnh tiếp theo, v.v.
Tôi nhận ra rằng điều này nằm ngoài phạm vi của câu hỏi này nhưng ...
Trong zsh
(trong đó, theo hiểu biết của tôi là một siêu bash) nếu bạn đặt biến sau trong .zshrc
tệp của mình :
export REPORTTIME=5
Mỗi lệnh mất hơn 5 giây (tôi khá chắc chắn) sẽ hiển thị đầu ra của time
. Tất cả các lệnh hoàn thành nhanh hơn không. Và trong những trường hợp đó, người ta không thực sự quan tâm, vì vậy thật tuyệt khi không làm mọi thứ rối tung lên. Ngoài ra còn có rất nhiều tính năng thú vị khác zsh
mà bạn có thể thích trong khi bạn ở đó.
Bao gồm \ t trong chuỗi nhắc của bạn. Nó sẽ bao gồm thời gian trong lời nhắc của bạn tại điểm bạn đưa nó vào. Xem: http://www.ibm.com/developerworks/linux/l Library / l-tip-prompt /
PS1 có vẻ như là cách tiêu chuẩn để làm một cái gì đó như thế này.
time
nó làm (nó đo lường mất bao lâu để một lệnh thực thi).