Shell:“ แสดงความเป็นไปได้ทั้งหมด 2588?”


16

ดังนั้นฉันจึงย้ายแล็ปท็อปของฉันไปรอบ ๆ (และฉันมีนิสัยที่ไม่ดีในการจัดวางสิ่งต่าง ๆ บนแป้นพิมพ์ ... ) และฉันตื่นขึ้นมาเพื่อค้นหาสิ่งนี้:

$
แสดงความเป็นไปได้ทั้งหมด 2588 รายการ? (y หรือ n)

คำสั่งอะไรที่จะแสดงบางอย่างเช่นนี้?

ฉันกำลังใช้ Bash


15
อาจเสร็จสมบูรณ์ <TAB>
mikeserv

8
ใช่กด Tab สองครั้งติดต่อกันที่ bash prompt คุณจะเห็นว่า
glenn jackman

5
คุณควรละทิ้งนิสัยที่ไม่ดีนั้นไป ครั้งนี้เป็นเพียงการทำให้แท็บเสร็จสมบูรณ์ในครั้งต่อไปเป็นรายงานที่สำคัญทางธุรกิจของคุณที่ผ่านการเปลี่ยนแปลงเล็กน้อย แต่สำคัญ เห็นแบบนี้: ในฐานะช่างไม้คุณจะไม่ใส่อะไรที่ฉวัดเฉวียนเห็น
phresnel

ใช่ฉันไม่ได้ทำงานอะไรที่มีเงินอยู่บนยูนิกซ์ของฉัน ข้อมูลที่ฉันชอบรวบรวม หมายเหตุถึงตัวเองสคริปต์เล็ก ๆ น้อย ๆ การเขียนโปรแกรม doodads ไม่มีอะไรที่น่าสนใจหรือนำเข้าจริง หากสิ่งที่คุณมีคือเศษไม้คุณไม่สนใจว่า buzzsaw จะกินมันหรือไม่
user3082

ขอบคุณ เรื่องนี้เกิดขึ้นกับฉันเมื่อพยายามคัดลอกวางสคริปต์ลงในเทอร์มินัลด้วย TABS แทนที่จะเป็น SPACES
SurpriseDog

คำตอบ:


23

ปุ่มกดTABช่วยให้คุณสามารถกรอกคำสั่งหรือไฟล์ / ไดเรกทอรีโดยอัตโนมัติ (ตราบใดที่สามารถเรียกใช้งานได้) ที่คุณต้องการใช้ขึ้นอยู่กับสิ่งที่คุณร้องขอ

การกดปุ่มสองครั้งTABจะช่วยให้คุณแสดงสิ่งที่มีอยู่ซึ่งคุณสามารถใช้สำหรับการใช้งานต่อไป

เช่น

คำสั่งเสร็จสิ้น:

ฉันต้องการแก้ไข crontab ของฉัน การพิมพ์crontและการกดปุ่มแล้วฉันจะเห็นคำสั่งทั้งหมดของฉัน:TABcrontab

ความสมบูรณ์ของไฟล์ / ไดเรกทอรี:

ฉันต้องการสำรอง crontab ของฉัน crontab -l >>พิมพ์คำปลายทาง/ho TABแล้วฉันจะเห็น: /home/พิมพ์ถัดไปus TABจากนั้นฉันจะเห็น:/home/user/

ตอนนี้เมื่อคุณกดปุ่มสองครั้งTABโดยไม่ต้องพิมพ์อะไรบางอย่างแล้วพรอมต์ก็คาดหวังสิ่งนั้นดังนั้นมันจะต้องการช่วยคุณแสดงความเป็นไปได้ทั้งหมด ด้วยพรอมต์ว่างเปล่าก็คาดหวังคำสั่งหรือไฟล์ / ไดเรกทอรีดังนั้นมันจะต้องการที่จะแสดงคำสั่งทั้งหมดที่มีอยู่สำหรับคุณและทุกไฟล์ / ไดเรกทอรีที่อยู่ในไดเรกทอรีที่คุณอยู่

2588 possibilitiesเอาท์พุทหมายถึงจำนวนของคำสั่ง / ไฟล์ไดเรกทอรี / พร้อมที่จะพิมพ์


16

ที่จะเกิดขึ้นเมื่อกดปุ่ม Space (ไม่ปรากฏ) จากนั้นกด TAB สองครั้ง (bash complete) ความเป็นไปได้ที่จะแสดง 2588 นั้นเป็นไปได้ว่าไฟล์ / ไดเรกทอรีในไดเรกทอรีการทำงานปัจจุบันของคุณเมื่อกดปุ่ม space + bash complete


8
หรือไฟล์ที่เรียกใช้งานได้ในพา ธ ถ้านี่คือจุดเริ่มต้นของบรรทัด นี่จะอธิบายว่าทำไมมีมากมาย
Emil Jeřábekสนับสนุน Monica

ฉันทำการทดสอบทำซ้ำคำสั่งแล้วตั้งค่า PATH = "" ส่งออก PATH และลองอีกครั้งและให้ผลลัพธ์เหมือนกัน เพียงแค่ไฟล์ที่ $ PWD
Mat

2
ทำโดยไม่มีที่ว่างตรงจุดเริ่มต้นของบรรทัด การทำงานของเชลล์จะขึ้นอยู่กับการตั้งค่าของเชลล์หรือไม่: หากไม่มีอะไรเกิดขึ้นให้ลองทำcomplete -E -cก่อน
Emil Jeřábekสนับสนุน Monica

จริง เสร็จสิ้น -E -c ทำตามคำแนะนำ;)
Matías

7

การแตะอย่างน้อยTABสองครั้งติดต่อกันจะแสดงให้คุณเห็น


2

ฉันใช้การทำให้แท็บเสร็จสมบูรณ์ตลอดเวลาเพื่อประหยัดในการพิมพ์ ทั้งหมดไม่ได้คิดเกี่ยวกับมันใช้เมื่อฉันไม่ได้กรอกสตริงคำสั่ง

"\ t" ได้รับเสียงระฆัง

"\ t" ได้รับเสียงระฆัง

"\ t \ t" รับรายการไดเรกทอรี

"\ t \ t" ได้รับการแสดงความเป็นไปได้ทั้งหมด (และถ้าฉันกด "\ t" หลังจากนั้นใน commandline ใหม่ฉันจะได้รับอีกครั้งแทนที่จะเป็นระฆัง)


0

ตาม https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html

เมื่อพยายามทำให้คำเสร็จสำหรับการโต้แย้งกับคำสั่งที่กำหนดคุณสมบัติเสร็จสมบูรณ์ (compspec) ได้รับการกำหนดโดยใช้ builtin ที่สมบูรณ์ (ดู Builtins เสร็จสิ้นโปรแกรมได้) สิ่งอำนวยความสะดวกเสร็จโปรแกรมที่มีการเรียกใช้


0

โดยการกดปุ่ม Esc สามครั้งจะแสดงข้อความนี้


2
ไม่ถูกต้อง สาม ESC ควรทำอะไร?
dr01

ฉันแค่พูดถึงสิ่งที่ฉันสังเกตเห็น ไม่มีอะไรจะพูด
FA Khan เมื่อ

นั่นเป็นเรื่องแปลก แต่จริง ๆ แล้วการกดปุ่ม ESC สามครั้งแสดงให้เห็นDisplay all 2588 possibilities?บน Windows10 โดยใช้ git bash
Maxim Koretskyi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.