Sitemap

ฉันจะหยุดคำสั่ง 'ใช่' ใน Linux ได้อย่างไร

การนำทางอย่างรวดเร็ว

มีสองสามวิธีในการหยุดคำสั่ง 'ใช่' ใน Linuxวิธีหนึ่งคือการใช้คำสั่งฆ่าคำสั่ง kill สามารถใช้เพื่อส่งสัญญาณไปยังกระบวนการ ซึ่งจะยุติลงหากต้องการใช้คำสั่ง kill คุณจะต้องพิมพ์:kill -signalดิสามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้:SIGKILL (ยุติกระบวนการทันที)SIGTERM (ยุติกระบวนการหลังจากรอให้ดำเนินการเสร็จสิ้น)SIGQUIT (ยุติกระบวนการด้วยข้อความเลิก) อีกวิธีหนึ่งในการหยุดคำสั่ง 'ใช่' ใน Linux คือ ใช้การตั้งค่าเทอร์มินัลของคุณบนเทอร์มินัลส่วนใหญ่ คุณสามารถเปลี่ยนความถี่ที่กระบวนการขออินพุตได้โดยใช้คำสั่ง setxattrเมื่อต้องการทำสิ่งนี้ คุณจะต้องพิมพ์:setxattr -path /usr/bin/yesตัวอย่างเช่น ถ้าคุณต้องการให้แน่ใจว่าคำสั่ง 'yes' ขออินพุตทุกครั้งที่รัน คุณจะต้องพิมพ์:setxattr -path /usr/bin/yes 2เมื่อคุณได้ทำการเปลี่ยนแปลงเหล่านี้แล้ว คุณต้องรีสตาร์ทเทอร์มินัลของคุณ เพื่อให้มันมีผลอีกวิธีในการหยุดคำสั่ง 'ใช่' ใน Linux คือการใช้แป้นพิมพ์ลัดคุณสามารถกด Ctrl+C (หรือ Command+C บน Mac) เมื่อคุณต้องการยกเลิกการดำเนินการที่ขอข้อมูลจากโปรแกรม สุดท้าย วิธีสุดท้ายในการหยุดคำสั่ง 'yes' ใน Linux คือการใช้ไฟล์กำหนดค่าในบางระบบ อาจมีไฟล์ชื่อ '/etc/inputrc'หากไม่มีไฟล์ดังกล่าว คุณสามารถสร้างไฟล์ได้โดยพิมพ์:nano /etc/inputrc หากไม่มีไฟล์ '/etc/inputrc' nano จะเปิดไฟล์ข้อความเปล่าขึ้นมาและแจ้งให้คุณป้อนข้อมูลในไฟล์นี้ คุณสามารถเพิ่มบรรทัดดังนี้:if [ "${COMMAND}" = "YES" ]; แล้วก้อง "อินพุตได้รับการยอมรับ" อื่น echo "การป้อนข้อมูลถูกปฏิเสธ" fiThis บรรทัดจะบอก Ubuntu หรือการแจกแจงอื่นที่คล้ายคลึงกันว่าถ้าใช่ปรากฏเป็นส่วนหนึ่งของเชลล์พรอมต์ (เช่นเมื่อใช้ทุบตี) ผู้ใช้ควรป้อนข้อมูล มิฉะนั้น ไม่ควรแสดงเอาต์พุตและการควบคุมจะถ่ายโอนกลับไปยัง bash โดยไม่ต้องมีการโต้ตอบเพิ่มเติมจากผู้ใช้ (หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อกำหนดค่า Bash เป็นเชลล์เริ่มต้นของคุณ

วิธีที่ดีที่สุดในการยุติคำสั่ง 'ใช่' คืออะไร

ไม่มีคำตอบเดียวสำหรับคำถามนี้ เนื่องจากวิธีที่ดีที่สุดในการหยุดคำสั่ง 'ใช่' อาจแตกต่างกันไปตามสถานการณ์เฉพาะของคุณอย่างไรก็ตาม เคล็ดลับบางประการเกี่ยวกับวิธียุติคำสั่ง 'ใช่' ใน Linux อาจรวมถึงการใช้ Ctrl+C หรือการออกสัญญาณ SIGINT (โดยปกติแล้วจะมีสัญญาณเสียงบี๊บ) เมื่อได้รับแจ้งด้วยคำสั่ง 'ใช่'

ฉันจะออกจากคำสั่ง 'ใช่' ได้อย่างไร

หากต้องการออกจากคำสั่ง 'ใช่' ให้กด Control-D

มีวิธียกเลิกคำสั่ง 'ใช่' หรือไม่?

ไม่มีวิธีสากลในการยกเลิกคำสั่ง 'ใช่' ในลีนุกซ์ทุกรุ่น แต่วิธีการบางอย่างทำงานได้ดีกว่าวิธีอื่นๆ

ในกรณีส่วนใหญ่ คุณสามารถใช้แป้นพิมพ์ลัด Ctrl+C เพื่อขัดจังหวะคำสั่ง "ใช่" ที่กำลังทำงานอยู่และยกเลิกการดำเนินการ

คุณยังสามารถยกเลิกคำสั่ง 'ใช่' ที่กำลังรันอยู่ได้ด้วยการกดปุ่ม Esc

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

ในกรณีเหล่านี้ คุณจะต้องใช้วิธีอื่น เช่น ออกจากระบบคอมพิวเตอร์หรือรีสตาร์ทเครื่อง

ฉันสามารถปิดกระบวนการ 'ใช่' โดยใช้ Ctrl+C ได้หรือไม่

ใช่ คุณสามารถปิดกระบวนการ 'ใช่' โดยใช้ Ctrl+C

เหตุใดฉันจึงได้รับข้อผิดพลาดเมื่อพยายามฆ่ากระบวนการ 'ใช่'

เมื่อคุณพยายามฆ่ากระบวนการ "ใช่" คุณอาจได้รับข้อผิดพลาดเนื่องจากยังทำงานอยู่ลองฆ่ามันด้วยตนเองแทน

ฉันจะป้องกันไม่ให้ yes ทำงานโดยอัตโนมัติในเทอร์มินัลของฉันได้อย่างไร

มีสองสามวิธีในการป้องกันไม่ให้ yes ทำงานโดยอัตโนมัติในเทอร์มินัลของคุณวิธีที่ง่ายที่สุดคือการเพิ่มบรรทัดต่อไปนี้ใน ~/.bashrc file:if [ -z "${COMMAND}" ]; จากนั้น COMMAND="$(ซึ่ง $1)" fiThis จะเรียกใช้คำสั่งหากยังไม่ได้รันคำสั่ง หรือให้พาธไปยังคำสั่งหากมีอีกวิธีหนึ่งคือการใช้คำสั่ง nohupการดำเนินการนี้จะระงับกระบวนการที่มีอยู่และช่วยให้คุณสามารถเรียกใช้คำสั่งได้โดยไม่ส่งผลต่อหน้าต่างเทอร์มินัลของคุณสุดท้าย คุณยังสามารถใช้คำสั่ง killall yes เพื่อหยุด yes ไม่ให้ทำงานเลย

ทุกครั้งที่ฉันพิมพ์ sudo มันจะถามรหัสผ่านของฉันแล้วรันใช่ ฉันจะทำให้หยุดทำอย่างนั้นได้อย่างไร?

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

  1. ตรวจสอบไฟล์ sudoers ของคุณเพื่อดูว่ามีรายการใดบ้างที่ต้องใช้รหัสผ่านอย่างชัดแจ้งเพื่อดำเนินการถ้าเป็นเช่นนั้น ให้ลบรายการเหล่านั้นหรือเปลี่ยนการอนุญาตบนรายการเหล่านั้นเพื่อไม่ให้ต้องป้อนรหัสผ่านอีกต่อไปเพื่อให้สามารถดำเนินการได้
  2. ตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้ที่ sudo กำลังทำงานอยู่ได้รับสิทธิ์ที่จำเป็นสำหรับการรันคำสั่งในฐานะรูทตัวอย่างเช่น หากคุณใช้ sudo กับบัญชีผู้ใช้ root ตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้ได้รับสิทธิ์ในการเข้าถึงไดเร็กทอรี /root และไดเร็กทอรีย่อยทั้งหมด
  3. ใช้ visudo แทน sudo เมื่อคุณต้องการรันสคริปต์หรือโปรแกรมในฐานะรูทโดยไม่ต้องป้อนรหัสผ่าน visudo จะแจ้งให้คุณใส่ชื่อผู้ใช้และรหัสผ่านของคุณก่อนที่จะอนุญาตให้คุณดำเนินการโปรแกรมต่อไป
  4. เปลี่ยนแป้นพิมพ์ลัดสำหรับการเรียกใช้ sudo จาก Ctrl+Alt+S (บนระบบส่วนใหญ่) เป็นอย่างอื่น—เช่น F12 (บน Windows) สิ่งนี้จะอนุญาตให้คุณเรียกใช้ซูโดโดยไม่ต้องพยายามควบคุมมันผ่านแป้นพิมพ์ลัดน่ารักทุกเวลาที่พวกเขาใช้รหัสผ่าน (คุณอาจต้องการปรับเทียบความเร็วของการตอบสนองของคอมพิวเตอร์ของคุณเมื่อผู้ใช้รหัสผ่าน

คุณจะอธิบายสิ่งที่ Yes ทำใน Linux ง่ายๆ ได้อย่างไร

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

จะสร้างสคริปต์ที่บอกว่าไม่มีโดยอัตโนมัติเพื่อตอบสนองต่อคำขอยืนยันใดๆ ได้อย่างไร

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

อีกวิธีหนึ่งคือการใช้คำสั่ง “nohup”คำสั่งนี้จะเรียกใช้สคริปต์เป็นกระบวนการพื้นหลัง และหากคุณพิมพ์ "nohup" ที่พรอมต์ สคริปต์นี้จะเริ่มทำงานทันทีในโหมดพื้นหลังเมื่อสคริปต์ทำงานเสร็จสิ้น มันจะส่งออกรหัสออกเป็น 0 (ศูนย์) ซึ่งหมายความว่าทุกอย่างเป็นไปด้วยดี

หากคุณต้องการให้สคริปต์ของคุณทำงานโดยอัตโนมัติเมื่อมีคนยืนยันงาน คุณสามารถใช้ยูทิลิตี้ "cron" ได้Cron เป็นโปรแกรมที่รันคำสั่งโดยอัตโนมัติในเวลาที่กำหนด และเมื่อใช้โปรแกรมนี้ คุณจะให้สคริปต์ทำงานทุกวันหรือทุกชั่วโมง หรือตามช่วงเวลาใดก็ได้ที่คุณต้องการในการตั้งค่า cron บนระบบของคุณ ก่อนอื่นให้ติดตั้งจากตัวจัดการแพ็คเกจของการแจกจ่ายของคุณจากนั้นสร้างไฟล์ชื่อ “/etc/cron.d/myscript” และเพิ่มบรรทัดต่อไปนี้: @reboot crontab -e แฟล็ก -e บอกให้ cron รันไฟล์นี้แทนที่จะอ่านเนื้อหาเหมือนกับไฟล์ทั่วไปตอนนี้สิ่งที่คุณต้องทำคือกำหนดค่า cron เพื่อให้ myscript ทำงานทุกครั้งที่มีคนยืนยันงาน (เช่น โดยการเพิ่มรายการดังนี้: @hourly myscript)

ใช่ ปรากฏขึ้นทุกครั้งที่ฉันเปิดเทอร์มินัล ฉันจะแก้ไขปัญหานี้ได้อย่างไร 12.?

มีสองสามวิธีในการหยุดคำสั่ง "ใช่" ไม่ให้ปรากฏในเทอร์มินัลของคุณ

  1. เปลี่ยนเชลล์เริ่มต้นของคุณ: คุณสามารถเปลี่ยนเชลล์เริ่มต้นได้โดยเปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้: $ sudo dpkg-reconfigure ttys0 หากคุณใช้ Ubuntu คุณสามารถเปลี่ยนเชลล์เริ่มต้นได้โดยไปที่การตั้งค่าระบบ -> การดูแลระบบ - > คีย์บอร์ดและเมาส์ -> Terminal Emulator และเลือกตัวเลือกที่ต้องการ
  2. ปิดใช้งานใช่ในไฟล์ .bashrc ของคุณ: หากการเปลี่ยนเชลล์เริ่มต้นของคุณไม่ใช่ตัวเลือก คุณสามารถปิดใช้งานใช่ในไฟล์ .bashrc ของคุณโดยเพิ่มบรรทัดต่อไปนี้: shopt -s nullglob การดำเนินการนี้จะปิดใช้งาน globbing ทั้งหมดสำหรับคำสั่งที่ขึ้นต้นด้วย "ใช่."
  3. ใช้คำสั่ง "no" แทน "yes": คุณสามารถใช้คำสั่ง "no" แทน "yes" ได้ตัวอย่างเช่น หากคุณต้องการเรียกใช้คำสั่งแต่ไม่ต้องการให้ตอบสนองโดยอัตโนมัติด้วยการตอบกลับเช่น "ใช่" คุณสามารถพิมพ์ "ไม่" ตามด้วยคำสั่งที่ต้องการ
  4. ใช้คุณลักษณะการเติมข้อความอัตโนมัติ: อีกวิธีหนึ่งในการหยุดการใช่ไม่ให้ปรากฏคือการใช้คุณลักษณะการเติมข้อความอัตโนมัติบนแป้นพิมพ์ของคุณการดำเนินการนี้จะช่วยให้คุณสามารถพิมพ์คำสั่งบางส่วนและให้คอมพิวเตอร์กรอกคำสั่งที่เหลือให้คุณโดยอัตโนมัติ (เช่นเดียวกับวิธีการทำงานของแท็บให้เสร็จสิ้น) หากต้องการเปิดใช้งานคุณสมบัติการเติมข้อความอัตโนมัติบน Ubuntu ให้เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์คำสั่งนี้: $ echo 'setopt complete_autocorrect' >> ~/.bashrc บน Mac OS X ให้เปิด Terminal และป้อนบรรทัดนี้ลงไป: $ setopt complete_autocorrect หรือคุณ สามารถติดตั้งซอฟต์แวร์เติมข้อความอัตโนมัติ เช่น ปลั๊กอิน ACU หรือ ZSH Auto Completion ซึ่งมีฟังก์ชันการทำงานที่คล้ายคลึงกัน

[แก้ไขแล้ว] ทุกครั้งที่เปิด Terminal จะพิมพ์ว่า Yes?

มีบางสิ่งที่คุณสามารถทำได้เพื่อหยุดคำสั่ง Yes ไม่ให้ทำงานโดยอัตโนมัติทุกครั้งที่เปิด Terminal

หากวิธีแก้ไขปัญหาเหล่านี้ไม่สามารถหยุดคำสั่ง Yes ไม่ให้ทำงานโดยอัตโนมัติทุกครั้งที่เปิด Terminal แสดงว่าอาจมีปัญหากับไฟล์การกำหนดค่าปัจจุบันของคุณที่เกี่ยวข้องกับวิธีการทำงานของ Bashในกรณีดังกล่าว โปรดอ่านบทความของเราเกี่ยวกับการแก้ไขปัญหาทั่วไปของ Bash สำหรับคำแนะนำเพิ่มเติมในการแก้ไขปัญหาเกี่ยวกับสคริปต์ Bash

  1. เปลี่ยนแอปพลิเคชันเทอร์มินัลเริ่มต้นใน Ubuntu หรือ Linux Mint: หากต้องการเปลี่ยนแอปพลิเคชันเทอร์มินัลเริ่มต้น ให้เปิดการตั้งค่าระบบใน Ubuntu หรือการตั้งค่าใน Linux Mint แล้วคลิกแท็บแป้นพิมพ์ภายใต้ Terminal Applications ให้เลือกแอปพลิเคชั่นที่คุณต้องการใช้เป็นเทอร์มินัลอีมูเลเตอร์เริ่มต้นของคุณ
  2. ปิดใช้งานการเติมข้อความอัตโนมัติสำหรับใช่ในเทอร์มินัล: ถ้าคุณไม่ต้องการให้คำสั่งใช่เติมข้อความอัตโนมัติเมื่อคุณพิมพ์ลงในเทอร์มินัล คุณสามารถปิดใช้งานคุณลักษณะการเติมข้อความอัตโนมัติได้โดยเปิด ~/.bashrc ในโฮมไดเร็กตอรี่ของคุณและเพิ่มบรรทัดนี้: _ ใช่ -n ไม่ใช่ หากคุณใช้เชลล์อื่น ให้แทนที่ "ใช่" ด้วย "y"
  3. ใช้แป้นพิมพ์ลัดทางเลือกสำหรับใช่: คุณยังสามารถปิดใช้งานการดำเนินการอัตโนมัติของคำสั่งใช่โดยกำหนดแป้นพิมพ์ลัดอื่นโดยใช้คำสั่งต่อไปนี้: echo 'alias yes="false"' >> ~/.bashrc ซึ่งจะทำให้แน่ใจได้ว่า คำสั่งใช่จะไม่ทำงานโดยอัตโนมัติเมื่อคุณกดปุ่ม Enter หลังจากพิมพ์ชื่อลงใน Terminal