apt-get install โดยอัตโนมัติด้วย - สมมติว่าใช่


68

ฉันพยายามเขียน bash script เพื่อติดตั้งรายการซอฟต์แวร์ ฉันใช้--assume-yesเพื่อให้ได้รับพร้อมท์

บรรทัดต่อไปนี้อย่างใดไม่ทำงาน:

sudo apt-get install python-software-properties --assume-yes

หากฉันพยายามapt-getไม่--assume-yesทำงาน แต่ข้อความแจ้งขอให้ฉัน:

please [Enter] to continue or ctrl+c to cancel adding it

ฉันจะเพิ่มEnterเป็นคำสั่งเมื่อทำงานapt-get installแทนที่จะใช้ได้--assume-yesอย่างไร


please [Enter] to continue or ctrl+c to cancel adding itจะปรากฏเฉพาะเมื่อคุณพยายามเพิ่ม PPA
Avinash Raj

คำตอบ:


89

ปัญหาของคุณคือตัวเลือกควรอยู่ก่อนแพ็คเกจไม่ใช่หลังจากนี้เป็นไวยากรณ์ที่ถูกต้อง:

apt-get <options> command package=version/release

ดังนั้นเพื่อให้สามารถใช้งานได้:

sudo apt-get --assume-yes install python-software-properties

apt-get คือให้อภัยเมื่อผสมคำสั่งและตัวเลือกต่าง ๆ เข้าด้วยกัน แต่เพื่อความปลอดภัยคุณควรใช้ตัวเลือกก่อนคำสั่งและอย่าใส่ตัวเลือกหรือคำสั่งหลังจากชื่อของแพ็คเกจ


51

เพิ่มการ-yตั้งค่าสถานะลงในapt-get install <package-name>คำสั่งด้านล่างคุณจะไม่ได้รับพรอมต์ใด ๆ ในขณะติดตั้งแพ็คเกจ

sudo apt-get install -y <package-name>

จาก apt-get --help

-y  Assume Yes to all queries and do not prompt

มีความแตกต่างระหว่าง--assume-yesและ-y?
Peter Mortensen

3
@PeterMortensen พวกเขาทำสิ่งเดียวกัน จากหน้าคน:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda

1
โปรดทราบว่านี่อาจไม่เพียงพอและคุณอาจต้องเพิ่ม-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"คำสั่งของคุณ ดูraphaelhertzog.com/2010/09/21/…สำหรับรายละเอียด
TTimo

@TTimo Wow! 6 วันหลังจากที่คุณโพสต์ความคิดเห็นฉันมาและพบว่าเป็นคำตอบที่ฉันต้องการ !! ถ้าฉันสามารถโหวตความคิดเห็นของคุณได้มากกว่านี้ฉันก็จะทำได้!
Crimbo

อย่าลังเลที่จะแก้ไขคำตอบด้วยตัวเลือกเพิ่มเติม
Avinash Raj

1

อีกวิธีหนึ่งที่เงียบและมีประสิทธิภาพดังต่อไปนี้:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.