リストからパッケージをインストールするためのシェルスクリプトを作成しています。コードは以下のように表示されます。
apps="$(cat ./foo/bar/packages.txt)"
apt install $apps
ただし、エラーが発生します。
E:コマンドラインオプション 'i' [from -info]は、他のオプションと組み合わせると理解されません。
packages.txt
以下はすべて1行に表示されます。
accountsservice acl acpi-support acpid ...
よろしくお願いします!
答え1
このような呼び出しの問題は、packages.txt
ファイル内の誤ったデータが破損する可能性があることです。
この場合、ファイルにエントリがあります-info
。これは、実行中のコマンドが次のようになることを意味します。
apt install pkg1 pkg2 ... -info pkg10 pkg11 ...
-info
コマンドのオプションとして解釈されますapt
。気に入らないので報告してくださいCommand line option 'i' [from -info] is not understood
。
--
インストール前を追加すると、これらの単語が解釈されるのを防ぎます。
apt -- install $apps
これは--
「もはやオプションがありません」を意味するので、-info
パッケージ名として理解されます。これは未知の入力で作業するときに良いことです。
packages.txt
ただし、間違ったエントリを削除するにはファイルを修復する必要があります。