Câu trả lời:
Bạn có thể làm một cái gì đó như thế này:
the_ppa=... # e.g. the_ppa="ondrej/apache2"
if ! grep -q "^deb .*$the_ppa" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
# commands to add the ppa ...
fi
Ghi chú:
grep
thoát khỏi thành công nếu nó tìm thấy một trận đấu!
phủ nhận này, vì vậy các lệnh sẽ được thực thi nếu không có trận đấu = ppa chưa thêm-q
lá cờ làm cho grep
yên tĩnh , vì vậy nó không in các dòng phù hợp. Nó sẽ chỉ là tiếng ồn, chúng ta chỉ cần biết có khớp hay không, mà mã thoát là hoàn hảo^deb .*
tiền tố là để đảm bảo dòng phù hợp bắt đầu với deb
, để loại trừ dòng được nhận xét raMở terminal của bạn và gõ lệnh này
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
thay thế Fogger bằng tên PPA.
Xóa các tệp list.save, các nguồn, đảm bảo chỉ các dòng deb và tính nó cho ppa "Fogger":
ppa_added=`grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v list.save | grep -v deb-src | grep deb | grep fogger | wc -l`
echo $ppa_added
deb
các dòng được nhận xét, bắt đầu # deb
và các dòng từ các tệp như foo-ppa.list.distUpgrade
- đó có phải là dự định không?