ตัวเลือก Pacman จะถือว่า“ ใช่” ทุกคำถามหรือไม่


51

เมื่อติดตั้งซอฟต์แวร์ในระบบเดเบียนเราสามารถใส่สิ่งนี้:

sudo apt-get install -y chromium-browser

วิธีการติดตั้งจะเกิดขึ้นโดยอัตโนมัติขอให้ยืนยันการติดตั้ง [Y / n] ฉันสามารถทำเช่นเดียวกันกับ Pacman ได้หรือไม่?

คำตอบ:


77

จากman pacman:

--noconfirm
ข้ามข้อความ“ คุณแน่ใจหรือไม่” ข้อความใด ๆ และทั้งหมด ไม่ใช่ความคิดที่ดีที่จะทำสิ่งนี้เว้นแต่ว่าคุณต้องการเรียกใช้ pacman จากสคริปต์

บันทึกคุณสมบัติเกี่ยวกับการใช้สิ่งนี้ด้วยความระมัดระวัง ...

Arch เป็นรุ่นที่วางจำหน่ายซึ่งหมายความว่า pacman ต้องจัดการการอัพเกรดที่ค่อนข้างซับซ้อนเป็นครั้งคราว ในเวลาเหล่านี้ Pacman จะแจ้งให้คุณยืนยันตัวเลือกของคุณ - โดยไม่คำนึงถึงข้อความแจ้งเตือนเหล่านี้จะไม่เป็นปัญหาที่สำคัญ แต่ในบางกรณีเช่นเดียวกับการย้ายล่าสุดจาก/libไปยัง/usr/libการขาดความสนใจจะทำให้เกิดการแตกครั้งใหญ่ นี่ไม่ใช่นิสัยที่คุณต้องการฝึกฝน


ฉันไม่เคยใช้ Pacman กับ "--noconfirm" ในเวลาประมาณ 3 ปีในการใช้ Arch เพราะคำเตือนนั้น มีกี่คนที่เรียกใช้ pacman จากสคริปต์ อะไรคือความเสี่ยงครั้งใหญ่? ฉันต้องแทรกแซง 3 หรือ 4 ครั้งเพื่อแก้ไขสิ่งที่ Pacman ได้ปฏิเสธที่จะอัพเกรด
Bruce Ediger

3
ฉันถือว่าวัฒนธรรมของอาร์คว่าการเตือนอยู่ที่นั่นเพื่อกีดกันความพึงพอใจและความคิดที่เข้าใจผิดว่าการอัพเดท pacman อัตโนมัติเป็นความคิดที่ดี จำนวนมากของความแตกแยกสามารถใส่ลงไปคนไม่ได้อ่านเอาท์พุทของ Pacman; --noconfirmจะทำให้รุนแรงที่ ...
jasonwryan

1
ฉันมีสคริปต์ "ติดตั้ง" ที่ใช้ --noconfirm แนวคิดคือการใช้ระบบที่มีการติดตั้งใหม่ทั้งหมดที่ติดตั้งล่าสุดและทำให้ "ใช้งานได้" โดยไม่ต้องมีการโต้ตอบกับผู้ใช้
StrongBad

แนวคิดคือการติดตั้งซอฟต์แวร์จากสคริปต์โดยไม่มีการโต้ตอบกับผู้ใช้ดังนั้นจึงสมบูรณ์แบบ ขอบคุณ!
JohannRamos

3
อันที่จริง--noconfirmไม่ถือว่าแทนจะอนุมานว่าคำตอบเริ่มต้นซึ่งเป็นค่อนข้างบ่อยyes noตัวอย่าง: # pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]สำหรับกรณีด้านบนyes|pacman -Sccสมมติว่าyes
Utgarda

29

ในขณะที่ manpage ในเรื่องไม่ชัดเจนมาก--noconfirmธงจะไม่ถือว่า "ใช่" ในทุกคำตอบ มันจะถือว่าคำตอบเริ่มต้นซึ่งอาจเป็น "ไม่" บางครั้ง

--noconfirm
      ข้ามข้อความ“ คุณแน่ใจหรือไม่” ข้อความใด ๆ และทั้งหมด ไม่ใช่ความคิดที่ดีที่
      จะทำสิ่งนี้เว้นแต่ว่าคุณต้องการเรียกใช้ pacman จากสคริปต์

ในการสมมติว่า "ใช่" คุณสามารถไพพ์เอาต์พุตของyesคำสั่งpacmanได้

yes | sudo pacman -S firefox

ใช้yes | LC_ALL=en_US.UTF-8 pacman [...]สำหรับความเข้ากันได้กับระบบที่ไม่ได้ตั้งค่าภาษาเป็นภาษาอังกฤษ มิฉะนั้น[Y/n]คำถามจะกลายเป็น[J/n]เช่น
ComFreek

3
นอกจากนี้ระวังคำตอบนี้ล้มเหลวถ้า Pacman เคยถามคำถามที่ไม่มีคำตอบเช่นy Enter a selection (default=all)
ComFreek

@ComFreek แทนที่จะเปลี่ยนตัวแปรสภาพแวดล้อมที่ส่งผ่านไปpacmanมันจะง่ายขึ้นและอาจปลอดภัยกว่าที่จะทำyes J | sudo pacman -S firefoxในกรณีนี้ yes Jจะทำให้เกิดyesการกดซ้ำ ๆ ส่งออกแทนJ y
Drew Chapin

"และอาจปลอดภัยกว่า" ได้อย่างไร การแทนที่ข้างต้นมีผลกับสภาพแวดล้อมของกระบวนการ (ต้นไม้) ที่เกิดและจบลงด้วยการ นอกจากนี้การเรียกใช้ข้างต้นจะเหมือนกันทุกประการ
เคลวิน

นอกจากนี้จะเกิดอะไรขึ้นถ้ามีคนคัดลอก / วางหนึ่งบรรทัดคำสั่งดังกล่าว แต่มีสถานที่ซึ่งหนึ่งในตัวเลือกที่มีตรงกันข้ามหรือความหมายที่แตกต่างกันโดยสิ้นเชิง? ตัวอย่าง: J(หรือY) ความหมาย "no" หรือ "all"
เคลวิน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.