ฉันจะทำสิ่งต่อไปนี้โดยใช้เทอร์มินัลใน OS X ได้อย่างไร
สร้างไฟล์ที่มีชื่อ.inputrc
ในโฮมไดเร็กทอรีของผู้ใช้และวางบรรทัดนี้ไว้:
set completion-ignore-case On
ฉันจะทำสิ่งต่อไปนี้โดยใช้เทอร์มินัลใน OS X ได้อย่างไร
สร้างไฟล์ที่มีชื่อ.inputrc
ในโฮมไดเร็กทอรีของผู้ใช้และวางบรรทัดนี้ไว้:
set completion-ignore-case On
คำตอบ:
คำตอบที่รวดเร็ว
touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
คำอธิบาย
ก่อนอื่นให้สร้างไฟล์:
touch ~/.inputrc
จากนั้นเพิ่มเนื้อหาลงในไฟล์:
echo "set completion-ignore-case On" >> ~/.inputrc
touch
สร้างไฟล์เปล่า (สมมติว่า~/.inputrc
ไฟล์นั้นไม่มีอยู่) echo
เขียนข้อความถึง "ออกมาตรฐาน" ( "stdout" สำหรับระยะสั้น) ซึ่งเป็นปกติหน้าจอของคุณ แต่เป็นเพราะการเปลี่ยนเส้นทาง ( >>
) ~/.inputrc
เอาท์พุทจะถูกนำไป การตั้งค่านี้จะเพิ่มบรรทัดลงในไฟล์
หาก~/.inputrc
มีอยู่แล้วและคุณต้องการที่จะลบ (ปิดบัง) เนื้อหาแล้วเขียนบรรทัดลงในนั้น (เช่นสร้างไฟล์ที่มีเพียงบรรทัดข้อความนี้) ทำ:
echo "set completion-ignore-case On" > ~/.inputrc
ลูกศรเดียว ( >
) หรือที่รู้จักกันว่าสัญลักษณ์ "มากกว่า" บอกecho
ให้สร้างไฟล์ที่มีข้อความที่กำหนดเป็นเนื้อหาของไฟล์แทนที่จะเขียนเนื้อหาไปที่ท้ายไฟล์ (ที่จริงแล้วecho
ไม่ได้สร้างไฟล์เชลล์สร้างไฟล์ทิ้งเนื้อหาที่มีอยู่ใด ๆ และecho
คำสั่งเขียนเนื้อหาใหม่)
หากคุณใช้วิธีการแรก (กับ>>
) และคุณพบว่าบรรทัดที่คุณเพิ่มนั้นเป็นรอยแดงบนบรรทัดก่อนหน้าเช่น
บางสิ่งที่นี่ มีบางสิ่งเพิ่มเติมที่นี่ตั้งค่าเสร็จสิ้นการเพิกเฉยกรณีและปัญหา
จากนั้นคุณต้องแก้ไขไฟล์เพื่อแก้ไข สิ่งนี้จะเกิดขึ้นหากบรรทัดสุดท้ายของไฟล์ที่มีอยู่ก่อนจบลงด้วยอักขระที่เป็นข้อความแทนที่จะเป็นอักขระ "ขึ้นบรรทัดใหม่" (เช่นเครื่องหมายของจุดสิ้นสุดของบรรทัด) นี่เป็นเรื่องปกติสำหรับ.TXT
ไฟล์บน Windows แต่ไม่ค่อยพบใน * nix
หากคุณทราบล่วงหน้าว่า.inputrc
ไฟล์ของคุณมีเนื้อหาที่มีอยู่แล้วซึ่งไม่ได้ขึ้นบรรทัดใหม่คุณควรใช้echo
คำสั่งนี้แทน:
echo -e "\nset completion-ignore-case On" >> ~/.inputrc
\n
ก่อนวลีที่ถูกตีความว่าเป็นอักขระ newline ดังนั้นการขึ้นบรรทัดใหม่จะถูกเพิ่มเนื้อหาหลังจากที่ก่อนหน้านี้และก่อนที่จะมีสิ่งใหม่ ๆ ที่คุณต้องการเพิ่ม
หรือพิมพ์อีกเล็กน้อย แต่อ่านได้มากขึ้น
echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
หรือ
(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc
ซึ่งทำสิ่งเดียวกัน; เช่นจัดเตรียมอักขระขึ้นบรรทัดใหม่ที่ขาดหายไปให้กับข้อความที่มีอยู่แล้วเพิ่มset completion-…
คำสั่งหลังจากนั้น
echo "…" >> ~/.inputrc
จะสร้างไฟล์หากไม่มีอยู่ ยกเว้นกรณีพยาธิวิทยาเช่น~
ไม่มีอยู่คุณไม่มีสิทธิ์เขียน~
หรือระบบไฟล์เต็ม และในกรณีเช่นนี้touch
จะไม่ช่วย touch
ฟุ่มเฟือยอย่างสมบูรณ์ที่นี่
สิ่งที่คุณต้องทำคือ:
echo "set completion-ignore-case On" >> ~/.inputrc
echo
เพียงแค่สะท้อนข้อความที่ให้ไว้ผ่านช่องสัญญาณปกติ (stdout)
การ>>
เขียนเอาต์พุต stdout จากคำสั่งซ้ายไปยังไฟล์มือขวาซึ่งในกรณีของคุณคือ~/.inputrc
~/
เป็นเช่นเดียวกับ /home/your_username/
touch
คำสั่งที่นี่;echo "…" >> ~/.inputrc
ค่อนข้างเพียงพอ