Hiển thị tin nhắn khi cd vào thư mục cụ thể


15

Làm thế nào tôi có thể hiển thị một tin nhắn khi tôi cdvào một thư mục cụ thể? Thư mục này là một thư mục cục bộ và tôi chỉ cần một lời nhắc khi tôi đi vào nó từ thiết bị đầu cuối.

Câu trả lời:


25

Nếu tôi là bạn, tôi sẽ chơi xung quanh với thứ tương tự trong tệp cấu hình shell của mình (ví dụ ~/.bashrc):

reminder_cd() {
    builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

Bằng cách này, bạn có thể thêm một .cd-remindertệp trong mỗi thư mục bạn muốn nhận lời nhắc. Nội dung của tệp sẽ được hiển thị sau mỗi lần thành công cdvào thư mục.

gim@tenebreuse ~/tmp % echo 'warning: this directory is pure junk' > .cd-reminder
gim@tenebreuse ~/tmp % cd ..
gim@tenebreuse ~ % cd tmp
warning: this directory is pure junk
gim@tenebreuse ~/tmp % 

1
Nhân tiện, ý tưởng tuyệt vời! Tôi thích nó và có lẽ tôi cũng sẽ sử dụng nó :-)
Stéphane Gimenez

Không nhập khẩu trong trường hợp này, nhưng nói chung là tốt abit để luôn luôn báo giá gấp đôi $@.
enzotib

1
Cảm ơn, tôi là bây giờ tự hỏi nếu có bất kỳ trường hợp $@nên được ưa thích hơn "$@"...
Stéphane Gimenez

1
Bạn nên sử dụng $@hoặc $*(chúng là những thứ tương tự khi không được trích dẫn) khi bạn muốn xảy ra các từ IFS.
Chris Xuống

Nếu bạn sử dụng phương pháp này, đừng quên bí danh pushdpopdcả.
mVChr
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.