Tôi đã viết tập lệnh ZSH sử dụng chức năng gọi lại chpwd
cho các cấu hình ZSH nguồn dự án cụ thể. Tôi không chắc liệu nó có hoạt động với Bash hay không, nhưng tôi nghĩ nó sẽ đáng để thử. Nếu nó không tìm thấy một tập tin kịch bản trong thư mục bạn đang cd'ing vào, nó sẽ kiểm tra các thư mục mẹ cho đến khi nó tìm thấy một kịch bản nguồn (hoặc cho đến khi nó đạt đến /
). Nó cũng gọi một hàm unmagic
khi cd'ing ra khỏi thư mục, cho phép bạn dọn dẹp môi trường của mình khi rời khỏi một dự án.
http://github.com/jkramer/home/blob/master/.zsh/func/magic
Ví dụ cho một "ma thuật" kịch bản:
export BASE=$PWD # needed for another script of mine that allows you to cd into the projects base directory by pressing ^b
ctags -R --languages=Perl $PWD # update ctags file when entering the project directory
export PERL5LIB="$BASE/lib"
# function that starts the catalyst server
function srv {
perl $BASE/script/${PROJECT_NAME}_server.pl
}
# clean up
function unmagic {
unfunction src
unset PERL5LIB
}
Chỉ cần thêm 'printf" \ e] 1; $ PWD \ a "' và bam (!), Tên tab được đổi thành pwd. – Fadi
@Fadi trong khi thực sự, hầu hết mọi người chỉ cần thêm một chuỗi thoát vào dấu nhắc cho chính nó, nó không thực sự quan trọng mà nó được cập nhật với mọi lời nhắc (thay vì chỉ khi thay đổi thư mục), vì nó sẽ không đáng chú ý. – falstro