คำสั่ง“ ใช่” คืออะไร?


29

ฉันออกคำสั่งในเทอร์มินัลอูบุนตูที่ต้องการให้ฉันพิมพ์ใช่ แต่ฉันค้นพบว่ามันจะถามฉันแค่ครั้งแรกเท่านั้น แต่ฉันกด Enter ก่อนที่ฉันจะรู้ ดังนั้นฉันจึงคาดว่าจะมีข้อความ "ไม่พบคำสั่ง" แต่ฉันได้รับกระแสของ "y" แทน นี่ดูเหมือนจะเป็นสิ่งเดียวที่ทำเช่นนี้ดังนั้นฉันจึงสงสัยว่าจุดประสงค์ของคำสั่งนี้คืออะไรและเพราะเหตุใดจึงส่งออก "y" (Ubuntu 11.10)

คำตอบ:


14

จากวิกิพีเดีย :

โดยตัวมันเองคำสั่ง yes จะแสดงผลลัพธ์ 'y' หรืออะไรก็ตามที่ระบุว่าเป็นอาร์กิวเมนต์ตามด้วยการขึ้นบรรทัดใหม่ซ้ำ ๆ จนกระทั่งผู้ใช้หยุดทำงานหรือถูกฆ่า เมื่อไพพ์ลงในคำสั่งมันจะดำเนินต่อไปจนกว่าการแบ่งไพพ์ (เช่นโปรแกรมจะดำเนินการให้เสร็จสิ้น)

นอกจากนี้ยังสามารถใช้ในการทดสอบว่าระบบสามารถรองรับการโหลดสูงเช่นเดียวกับการใช้ใช่ผลลัพธ์ในการใช้งานตัวประมวลผล 100% สำหรับระบบที่มีโปรเซสเซอร์เดียว (สำหรับระบบมัลติโปรเซสเซอร์จะต้องดำเนินการกระบวนการสำหรับโปรเซสเซอร์แต่ละตัว) ตัวอย่างเช่นนี่อาจเป็นประโยชน์สำหรับการตรวจสอบว่าระบบระบายความร้อนของระบบจะมีประสิทธิภาพหรือไม่เมื่อโปรเซสเซอร์ทำงานที่ 100%


30

นานมาแล้ว (วัน SySV และก่อนหน้านี้) fsckคำสั่งไม่มีตัวเลือก-yหรือ -nคำสั่งจะโต้ตอบขอให้คุณเปลี่ยนรายการเป็นร้อยหรือหลายพันรายการโดยคาดหวังว่าจะเป็น 'y' หรือ 'n' yesคำสั่งถูกสร้างขึ้นเพื่อท่อ fsck และบางส่วนโปรแกรมอื่น ๆ เพื่อให้สามารถที่จะตอบซ้ำแบบโต้ตอบคำถาม (อีกครั้งนี้เป็น SysV วันนานก่อนที่จะ Tcl และคาดว่า) yesโปรแกรมพอดีเป็นอย่างดีกับปรัชญา UNIX: โปรแกรมขนาดเล็กที่จะทำสิ่งที่เฉพาะเจาะจงอย่างดีและการทำงานร่วมกับโปรแกรมอื่น ๆ


4

ขึ้นอยู่กับข้อมูลที่ให้ไว้ที่นี่: http://linux.about.com/library/cmd/blcmdl1_yes.htm

คำสั่ง Linux / Unix: ใช่

ห้องสมุดคำสั่ง

ชื่อ

ใช่ - ส่งออกสตริงซ้ำ ๆ จนกระทั่งถูกฆ่า

สรุป

ใช่ [STRING] ... ใช่ตัวเลือก

รายละเอียด

ส่งออกบรรทัดซ้ำด้วย STRING ที่ระบุทั้งหมดหรือ `y '

- ช่วยแสดงความช่วยเหลือและออกจาก - ข้อมูลรุ่นส่งออกและออกจาก
ยังดู

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

info yes

ควรให้คุณเข้าถึงคู่มือฉบับสมบูรณ์

ในความเห็นที่ต่ำต้อยของฉันการใช้คำสั่ง "ใช่" ฟังดูเป็นตรรกะเมื่อคุณต้องอนุญาตบางสิ่งบางอย่างในกระบวนการ / สคริปต์โดยการกดปุ่ม "y" ซึ่งสามารถควบคุมได้โดยยกเลิกการทำงานของโปรแกรม

อย่างไรก็ตามคนอื่นอาจมีประสบการณ์ใช้คำสั่งนี้


ฉันไม่มีประสบการณ์เกี่ยวกับ Linux มากมายคุณสามารถใช้คำสั่ง "ใช่" ในกระบวนการ / สคริปต์ได้อย่างไร
เกร็ก Treleaven


1

คำสั่ง yes จะพิมพ์อาร์กิวเมนต์ของมันหรือ "y" หากยังว่างอยู่จนกว่าคุณจะสิ้นสุดโปรแกรมหรือปิดไพพ์เอาท์พุท สามารถใช้กับโปรแกรมที่คาดว่าจะมีการป้อนข้อมูลซ้ำ ๆ เช่น rm -i


1
ทำไมคุณถึงทำซ้ำซ้ำถ้าคุณใช้ใช่เพื่อลบทุกอย่าง
fromnaboo

@ fromnaboo เป็นตัวอย่างที่ดีฉันรู้ แต่บางครั้งคุณไม่สามารถเข้าถึงการทำงานภายในของโปรแกรมที่คุณต้องใช้ดังนั้นใช่สามารถช่วยคุณหลีกเลี่ยงการป้อนข้อมูลเดียวกันซ้ำ ๆ
daniel kullmann

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