【问题标题】:bash script LAMP creation "yes"bash 脚本 LAMP 创建“是”
【发布时间】:2014-10-21 18:08:45
【问题描述】:

我写了这个小 bash 脚本:

#!/bin/bash


apt-get update
apt-get upgrade
apt-get install apache2
apt-get install php5
apt-get install mysql-server
apt-get install php5-mysql
service apache2 restart
apt-get update 
apt-get install python-software-properties
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php5-5.6
apt-get update
apt-get upgrade
apt-get install php5
apt-get install vsftpd
apt-get install php5-curl

为了在 ubuntu 14.04 上创建灯并安装 php 5.6

一切正常,但我需要在提示时输入“y”,有一次我需要按 Enter(在这一行:

add-apt-repository ppa:ondrej/php5-5.6)

使用

运行脚本时无需键入“y”即可执行脚本
yes | ./script.sh

但在我需要按 Enter 键时,它只会给我输出大量“y”和中断。 运行脚本后这些文件:

E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/

已锁定,我需要再次解锁,以便安装更多内容。

有没有办法让它正常运行?没有文件锁,只是做它应该做的事情......

【问题讨论】:

  • 你为什么要执行apt-get update这么多次?您只需要在添加 ppa:ondref/php5-5.6 存储库之后预先执行此操作。此外,apt-getadd-apt-repository 都有 -y 标志,它们假定您想要 yes 对所有内容。此外,您可能希望在环境中设置DEBIAN_FRONTEND=noninteractive,这将对出现的任何提示采取默认选择。

标签: linux bash lamp


【解决方案1】:

您可以将每个apt-get install 更改为apt-get -y install 并将add-apt-repository 更改为add-apt-repository -y 以假设所有问题都是肯定的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2018-11-12
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    相关资源
    最近更新 更多