ฉันจะทำสิ่งต่อไปนี้โดยใช้เทอร์มินัลใน 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ค่อนข้างเพียงพอ