Я хотел бы убедиться, что «партнерские» источники были добавлены в скрипт независимо от того, с какой версией ubuntu я имею дело.
Пока у меня есть:
#!/bin/sh
sudo sed -i 's/# deb http:\/\/archive.canonical.com\/ubuntu xenial partner/deb http:\/\/archive.canonical.com\/ubuntu xenial partner/' /etc/apt/sources.list
Так как это файл в /etc
, я добавил sudo
, я думаю, это обязательно.
Как мне заставить это работать кросс-релиз?
спасибо.
Я довольно убежден,
sudo sed -i 's/# deb http:\/\/archive.canonical.com/deb http:\/\/archive.canonical.com/' /etc/apt/sources.list
будет работать с любым выпуском
есть только эта строка плюс «partners-dev», который соответствует в этом файле, а «partners» - это Первый матч.
Можно просто выбрать кодовое название от sources.list
, так как оно уже включает его:
sudo sed -i 's,# \(deb http://archive.canonical.com/ubuntu [a-z]* partner\),\1,' /etc/apt/sources.list
я использую ,
в качестве разделителя для s
, чтобы не склоняться зубочистки. Здесь, так как текст замены в значительной степени уже находится в соответствии, мы можем использовать regex группы (\(...\)
) для использования их в замене (\1
).