apt-get install 在脚本中不起作用

apt-get install 在脚本中不起作用

我创建了一个安装一组 Linux Paquet 的小脚本。

奇怪的是,apt-get install 总是失败,并告诉我未找到该包。这是我的脚本:

#! /bin/bash
sudo apt-get install python-software-properties
sudo apt-get update
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get install xfce4 postgresql-9.0 pgadmin3 chromium-browser wine iftop

我该如何修复此问题?

谢谢 。

答案1

脚本的第一行。删除空格。

#!/bin/bash

@Shane 也说过:您可能希望使用脚本-y来自动化该过程。

更新
在尝试运行之前,您是否运行过chmod +x scriptname?您可以发布您遇到的确切错误吗?

答案2

如果您尝试从该 PPA 存储库安装某些内容,则apt-get update应该在添加存储库之后进行,而不是之前。

您也可能需要了解-y潜在的交互步骤。

答案3

我遇到了完全相同的问题。解决这个问题的真正关键是第一行的错误#!/bin/sh。我在 Windows 机器上编写脚本,Ubuntu 机器是虚拟机。一些 Windows 行尾让我感到困惑。我按照dos2unix此处的说明修复了它

答案4

开始对系统管理脚本使用版本控制。这将有助于突出显示@volker238 提出的问题。

尤其是像 Mercurial 或 Git 这样的分布式系统将有助于正确传输代码。两者都可以跨平台正确转换行尾。

有几次,当我收到其他人的复制/粘贴贡献时,hg log当 shell 抱怨语法错误时,他们准确地告诉我发生了什么变化,但却看不到任何明显的变化。

如果您想要进一步扩大规模,可将其与chef或结合起来puppet,为您的系统创建可重复的部署计划。

相关内容