回答:
あなたはこのようなことをすることができます:
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
ノート:
grep
一致が見つかった場合、成功して終了します!
否定するため、一致がない場合にコマンドが実行されます= ppa not added-q
フラグが作るgrep
静かにそれがマッチした行を表示しないように、。それは単なるノイズになるでしょう、一致があるかどうかを知る必要があるだけで、終了コードは完全です^deb .*
接頭辞は必ず一致した行で始まるようにすることですdeb
コメントアウトされている行を除外するために、ターミナルを開いて次のコマンドを入力してください
grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger
foggerをPPA名に置き換えます。
list.saveファイル、ソースを削除し、deb行のみを確認して、「fogger」ppaとしてカウントします。
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
、コメントアウトされた# deb
行から始まり、のようなファイルからの行を検出しますfoo-ppa.list.distUpgrade
-これは意図されたものですか?