apt install <文件中的包列表>

Thu*_*fir 4 package-management apt bash automation software-installation

这看起来不错

for i in package1 package2 package3; do
  sudo apt-get install -y $i
done
Run Code Online (Sandbox Code Playgroud)

但是在文件中列出了包:

package1
package2
..
Run Code Online (Sandbox Code Playgroud)

每个都在自己的线上。寻找最简单的脚本来阅读,性能并不是真正的问题。当然,奇怪的包在安装过程中需要一些人工干预才能同意或配置。

顺便说一句,处理要安装的大量软件包列表的“真正”方式是什么?我只是在寻找monkey-see-monkey- do

Mel*_*ius 6

xargs将文件转换为命令行参数的程序。只需xargs在命令(带有所有参数)的前面加上您想要从文件中提供其他参数(我们称之为list.txt),然后让我们xargs使用标准输入重定向读取您的文件。

< list.txt xargs sudo apt-get install -y
Run Code Online (Sandbox Code Playgroud)

您可以通过放置echo(或代替)sudo或删除-y选项来测试它。


Eri*_*ntz 4

像这样的东西吗?

# check that the filename was supplied (keeping it simple for the example)
set -o nounset

packagefile=$1

# initialize the package variable
packages=''

# read the lines of the package file
while IFS= read -r line; do
    packs+=" $line"
done < $packagefile

# apt install all of the packages
apt install -y $packs
Run Code Online (Sandbox Code Playgroud)