![apt - 命令行选项“i”[来自-info]与其他选项结合使用时无法理解](https://linux22.com/image/91058/apt%20-%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E9%80%89%E9%A1%B9%E2%80%9Ci%E2%80%9D%5B%E6%9D%A5%E8%87%AA-info%5D%E4%B8%8E%E5%85%B6%E4%BB%96%E9%80%89%E9%A1%B9%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8%E6%97%B6%E6%97%A0%E6%B3%95%E7%90%86%E8%A7%A3.png)
我正在编写一个 shell 脚本,用于从列表中安装软件包。代码如下:
apps="$(cat ./foo/bar/packages.txt)"
apt install $apps
但是,我收到错误
E:命令行选项“i”[来自-info]与其他选项结合使用时无法理解。
看起来packages.txt
像以下所有内容都在一行中:
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
文件以删除错误的条目。