sudo sh -c 'echo “deb http://archive.canonical.com/ubuntu trusty partner” >> /etc/apt/sources.list.d/canonical_partner.list' 没有工作

sudo sh -c 'echo “deb http://archive.canonical.com/ubuntu trusty partner” >> /etc/apt/sources.list.d/canonical_partner.list' 没有工作

我正在尝试在 ubuntu 14.04 上使用 Skype,但是当我输入:

sudo sh -c ‘echo “deb http://archive.canonical.com/ubuntu trusty partner” >> /etc/apt/sources.list.d/canonical_partner.list’

它显示“权限被拒绝”。

请帮忙,或者告诉我其他获取 Skype 的方法。

答案1

这里的问题与重定向无关,而是您复制了花括号字符。它们与直引号(终端将其理解为特殊字符)不同,因此该命令的含义完全不同。

这主要是您复制粘贴命令的网站的错误(您应该让他们知道)。

要修复此问题,只需将卷曲的版本替换为直的版本:

sudo sh -c 'echo "deb http://archive.canonical.com/ubuntu trusty partner" >> /etc/apt/sources.list.d/canonical_partner.list'

是的,tee可能看起来更好,但重定向并没有错。


有人质疑这是否真的是原因。确实是,但我会证明这一点。首先解释的是原始命令中的重定向。Bash 尝试在输出文件上打开一个写入句柄(作为当前用户)第一的并失败了。

$ sudo afoijaf2 > /rawr
-bash: /rawr: Permission denied

这就是为什么我们没有看到命令未找到的原因。afoijaf2这里显然不存在,也‘echo显然是无效命令。两者都没有被执行——sudo甚至没有运行——因为 Bash 无法获取写入句柄。这是第一个错误。

答案2

你不能使用 sudo 进行重定向,请使用 tee

echo foo | sudo tee -a file

还有其他方法

答案3

使用 GUI 安装 Skype

对于 Skype,你应该去下载_skype,你可能需要 多架构版本 但我无法提前知道。它取决于您的 ubuntu 版本。

长话短说,当.deb 文件你的系统出现故障,打开并安装Ubuntu 软件中心基本上就是这样!

相关内容