
答案1
我編寫了一個函數,用於獲取將在當前版本/架構上使用的儲存庫的軟體包清單。它相當簡單,可以寫成一行......這只是一個非常笨拙的行。
function lsppa {
# expects one argument in the form of ppa:nilarimogard/webupd8
USAGE="lsppa <ppa:user/ppaname>"
if [[ "$#" != "1" || ! "$1" == *"ppa"* ]]; then
echo "$USAGE"
return
fi
REPO="${1/ppa:/}"
CODE="$(lsb_release -cs)"
ARCH="$(dpkg --print-architecture)"
URL="http://ppa.launchpad.net/$REPO/ubuntu/dists/$CODE/main/binary-$ARCH/Packages"
awk '/^Package:/ {print $2}' <(wget -qO- "$URL")
}
因此,將其貼上到終端後,您可以像這樣調用它lsppa ppa:nilarimogard/webupd8
,它會返回按包列表排序的列表。
在這種情況下,它可能不是按字母順序排列的,甚至可能包含重複項(不同版本),因此您可能(sort -u
如果您想調用,則可以傳遞它:
lsppa ppa:nilarimogard/webupd8 | sort -u | less