ใช้ Ubuntu ฉันเปิดเทอร์มินัลแล้วทำ
sudo bash
cd /
ls | head -n 1000
และส่งคืนไดเรกทอรีประมาณ 20 รายการ
อย่างไรก็ตามถ้าฉันทำ ls และไม่ได้แปะไปที่ใด ls ก็แค่ค้างไว้ที่นั่นจนกว่าฉันจะฆ่ามันจากเทอร์มินัลอื่น อาจเกิดอะไรขึ้น
แก้ไข:
> type ls
ls is aliased to `ls --color=auto`
แก้ไข:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
เหตุใดการระบายสีเอาต์พุตของ ls ทำให้คำสั่งนี้หยุดทำงาน
strace lsอาจช่วยให้คุณระบุปัญหาได้ straceแสดงการเรียกใช้ระบบทั้งหมดที่ทำโดยโปรแกรมที่เรียกใช้
/bin/ls(หรือมากกว่าcommand ls) เพื่อเรียกใช้lsโดยไม่ใช้ตัวเลือกที่มีนามแฝงเพื่อยืนยันว่าเป็นตัวเลือกสีที่สร้างความแตกต่างหรือไม่ FWIW lsจะปิดการระบายสีเมื่อเอาต์พุตเป็นไพพ์หรืออุปกรณ์อื่นที่ไม่ใช่เทอร์มินัล
\ls
type lsเพื่อตรวจสอบนามแฝงที่เป็นไปได้ ฯลฯ