sudo apt-get purge firefox 在批处理文件中不起作用

sudo apt-get purge firefox 在批处理文件中不起作用

我有一个简单的shell脚本,用于更新Firefox。 它的内容是:

#!/bin/sh

sudo apt-get pruge firefox

sudo apt-get install firefox

就是这样。现在,当我在终端中运行文件时,按顺序使用,

cd Desktop/Batch\ Files

sudo chmod 775 Firefox.sh

sudo ./Firefox.sh

输出表明pruge操作无法完成但文件的其余部分仍可运行。

以下是确切的输出:

sudo: unable to resolve host ubuntu: Connection timed out
E: Invalid operation pruge
sudo: unable to resolve host ubuntu: Connection timed out
Reading package lists... Done
Building dependency tree       
Reading state information... Done
firefox is already the newest version (57.0.1+build2-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 261 not upgraded.

尽管很烦人,但我仍然可以逐行运行代码,并且操作purge有效。

答案1

你的脚本中有一个拼写错误,应该是purge和 而不是pruge。除此之外,如果你使用 调用脚本,则不需要在脚本内使用 sudo sudo script.sh。因此你的脚本应该是:

#!/bin/sh
apt-get purge firefox
apt-get install firefox

您想-y在安装时放置标志,以便即使有多个软件包需要安装,也能自动安装。因此更改:

apt-get install firefox

进入:

apt-get install -y firefox

但是,如果您希望输出无提示,则可以使用-qq选项(暗示-y),在这种情况下,您还需要为 purge 提供-y-qq选项,但这样两个命令都将无提示运行。完全无提示脚本的示例:

#!/bin/sh
apt-get purge -qq firefox &&
apt-get install -qq firefox

您肯定想知道我为什么将它们放入&&脚本中:这会导致只有第一个命令成功时才会运行第二个命令。

但是,通常不需要清除 Firefox 来安装新版本。只需执行一次sudo apt-get update && sudo apt-get install --reinstall firefox就足够了,因为配置文件和设置无论如何都不会被清除。

答案2

在您的代码中,您输入了“pruge”,它需要更改为“purge”。

相关内容