我创build了一个小脚本来安装一组linux桌面。
奇怪的apt-get安装总是失败,并告诉我,包没有被发现。 这是我的脚本:
#! /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
我能做些什么来解决这个问题?
谢谢 。
脚本的第一行。 删除空间。
#!/bin/bash
还有@Shane说:在一个脚本上,你可能想用-y来自动化这个过程。
更新
在尝试运行之前是否运行过chmod +x scriptname ? 你可以请你发布确切的错误吗?
如果您尝试从该PPA存储库安装某些内容,那么您的apt-get update应该在添加回购之后发生,而不是之前。
您也需要在可能的交互式步骤中使用-y 。
你也应该先更新apt-get,然后安装,这样脚本应该看起来像
#! /bin/bash sudo add-apt-repository ppa:pitti/postgresql sudo apt-get update sudo apt-get install python-software-properties sudo apt-get install xfce4 postgresql-9.0 pgadmin3 chromium-browser wine iftop
然后使文件可执行
chmod 755 script
开始使用系统pipe理脚本的版本控制。 这将有助于突出显示由@ volker238引发的问题。
特别是像Mercurial或Git这样的分布式系统将有助于正确地获得代码。 两者都将跨平台正确转换行尾。
有几次,当我收到其他人的复制/粘贴贡献的时候, hg log告诉我shell在抱怨语法错误时到底发生了什么变化,没有什么明显的可见的。
如果你想进一步扩大规模,把它与chef或puppet结合起来,为你的系统创build可重复的部署计划。
我有完全相同的问题。 解决这个问题的关键是第一行#!/bin/sh 。 我正在Windows机器上写我的脚本,而Ubuntu的机器是虚拟机。 一些Windows系列的结局搞砸了我。 我在这里引用了dos2unix来修复它 。