web-dev-qa-db-ja.com

apt install <ファイルからのパッケージのリスト>

これは見えます good

for i in package1 package2 package3; do
  Sudo apt-get install -y $i
done

しかし、パッケージがファイルにリストされている場合:

package1
package2
..

それぞれが独自の行にあります。読む最も簡単なスクリプトを探して、パフォーマンスはそれほど問題ではありません。もちろん、奇妙なパッケージは、インストール中に同意または構成するために人間の介入が必要になります。

余談ですが、インストールするパッケージの大きなリストを処理する「実際の」方法は何ですか?私は単にmonkey-see-monkey - do を探しています。

4
Thufir

ファイルをコマンドライン引数に変換する xargs プログラムがあります。ファイルから追加の引数を提供するコマンド(すべての引数を含む)の前にxargsを追加し(list.txtとしましょう)、xargs標準入力リダイレクト を使用したファイル。

< list.txt xargs Sudo apt-get install -y

echoの前(または代わり)にSudoを置くか、-yオプションを削除することで、テストできます。

6
Melebius

このようなもの?

# 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
4
Eric Mintz