Bash ไม่ได้เรียกใช้สคริปต์ที่ /opt/local/etc/bash_completion.d/


8

/opt/local/etc/bash_completion.d/ผมอยากที่จะมีการเติมข้อความอัตโนมัติทุบตีสำหรับคำสั่งคอมไพล์ดังนั้นฉันลดลงแฟ้มสคริปต์ทุบตีเข้า

เมื่อฉันเปิดเทอร์มินัลใหม่ไฟล์สคริปต์ใน/opt/local/etc/bash_completion.d/จะไม่ถูกเรียกใช้งาน ฉันได้ตรวจสอบแล้วว่าไฟล์สคริปต์ทำงานโดยการทำงาน:

source /opt/local/etc/bash_completion.d/git-completion.bash

มีขั้นตอนที่ขาดหายไปที่นี่เพื่อขอให้ OS X รันสคริปต์โดยอัตโนมัติ/opt/local/etc/bash_completion.d/หรือไม่

คำตอบ:


8

หากต้องการโหลดสคริปต์ทั้งหมดจากไดเรกทอรีโดยอัตโนมัติให้วางสคริปต์นี้ลงใน~/.bashrcไฟล์ของคุณ

# LOAD ALL AUTOCOMPLETIONS IF ANY ARE INSTALLED
if [ -d /usr/local/etc/bash_completion.d ]; then
    for F in "/usr/local/etc/bash_completion.d/"*; do
        if [ -f "${F}" ]; then
            source "${F}";
        fi
    done
fi

3

ใช่คุณต้องโหลดมันลงในเปลือกของคุณ

สิ่งนี้ทำได้โดยการแก้ไข~/.bashrcหรือ~/.bash_profileเพิ่มคำสั่ง. filenameสำหรับแต่ละไฟล์ สิ่งนี้จะโหลดไฟล์และทำให้ฟังก์ชั่นพร้อมใช้งาน ie ใส่คำสั่ง source ของคุณลงในไฟล์ใดไฟล์หนึ่ง

โปรดทราบว่าคุณไม่ควรเพิ่ม/opt/local/etc/bash_completion.d/เป็น macports เท่านั้นที่ควรเขียน ใส่ไฟล์ในโฮมไดเร็กตอรี่ของคุณเช่น~/.bash_completion.d/git-completion.bash

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