แสดงข้อความเมื่อ cd ลงในไดเรกทอรีเฉพาะ


15

ฉันจะแสดงข้อความเมื่อฉันcdไปยังไดเรกทอรีที่ต้องการได้อย่างไร ไดเรกทอรีนี้เป็นไดเรกทอรีท้องถิ่นและฉันต้องการการแจ้งเตือนเมื่อฉันเข้าไปในเทอร์มินัล

คำตอบ:


25

ถ้าฉันเป็นคุณฉันจะลองเล่นกับมันในไฟล์การกำหนดค่าเชลล์ (เช่น~/.bashrc):

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

alias cd=reminder_cd

ด้วยวิธีนี้คุณสามารถเพิ่ม.cd-reminderไฟล์ในแต่ละไดเรกทอรีที่คุณต้องการรับการแจ้งเตือน เนื้อหาของแฟ้มที่จะแสดงหลังจากที่แต่ละที่ประสบความสำเร็จcdไปยังไดเรกทอรี

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
ไอเดียเด็ด ๆ โดยวิธี! ฉันชอบมันและบางทีฉันก็จะใช้มันเช่นกัน :-)
Stéphane Gimenez

ไม่ importat ในกรณีนี้ แต่โดยทั่วไปคือ ABIT $@ที่ดีที่จะราคาคู่เสมอ
enzotib

1
ขอบคุณฉันตอนนี้สงสัยว่ามีกรณีใดที่$@ควรจะมากกว่า"$@"...
Stéphane Gimenez

1
คุณควรใช้$@หรือ$*(เป็นสิ่งเดียวกันเมื่อไม่ได้ใส่เครื่องหมายอัญประกาศ) เมื่อคุณต้องการให้มีการใช้คำแทนที่ IFS
Chris Down

หากคุณใช้วิธีนี้อย่าลืมนามแฝงpushdและpopdด้วย
mVChr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.