首页 > 使用shell读取文件,安装软件

使用shell读取文件,安装软件

我使用Ubuntu,想安装boost-1.55,但是默认到版本不是,所以我搜索了以下,得到一个下面的列表(部分内容):

shlibboost-atomic1.55-dev
libboost-atomic1.55.0
libboost-chrono1.55-dev
...

我想写一个shell直接读取文件安装,shell是这么写的:

sh#!/bin/bash

while read line
do
    name=$line
    apt-get install "$name"
done < $1

为什么sudo执行之后,会出现直接终止,而不让我继续操作这样的情况呢?如下:

$ sudo ./install-boost.sh boostname
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
libboost-atomic1.55.0 libboost1.55-dev
建议安装的软件包:
libboost1.55-doc libboost-chrono1.55-dev libboost-context1.55-dev
libboost-coroutine1.55-dev libboost-date-time1.55-dev ...
下列【新】软件包将被安装:
libboost-atomic1.55-dev libboost-atomic1.55.0 libboost1.55-dev
升级了 0 个软件包,...
解压缩后会消耗掉 96.8 MB 的额外空间。
您希望继续执行吗? [Y/n] 中止执行。
$
为什么这里就直接退出了呢?如果我想继续操作,shell文件该怎么写?


apt-get install -y "$name"


#!/bin/bash

while read line
do
    name=$line
    apt-get install "$name" < /dev/tty
done < $1

你可以指定安装时遇到提示时设置为Yes。这样就会安装了。

bashapt-get -y install "$name"
【热门文章】
【热门文章】