blob: e3ce8e0d5c719b4f45a0626be0d946b3fd5fad7f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#!/usr/bin/env bash
# general installer for sharkdp's rust based applications
USAGE="Usage: ${0##*/} <app>"
APPS="Apps: bat, hyperfine, hexyl, fd, vivid, pastel, lscolors, diskus"
app=$1
if [[ -z $app || $app == "help" ]]; then
echo $USAGE >&2
echo $APPS >&2
exit 0
fi
if [[ "$app" == "list" ]]; then
echo $USAGE >&2
exit 0
fi
if [ ! "$(which $app)" ]; then
current_version=0.0.0
echo "$app: not installed"
else
current_version=$($app --version | grep -oE "[0-9\.]+")
echo "$app: found $current_version"
fi
latest_version=$(curl -s "https://github.com/sharkdp/$app/releases/latest" | grep -oE '[0-9]+.[0-9\.]+')
if [ "$2" ]; then
latest_version=$2
fi
if [[ "$current_version" == "$latest_version" ]]; then
echo "$app: up-to-date"
else
echo "$app: new version found $latest_version"
echo "$app: downloading..."
arch="$(dpkg --print-architecture)"
curl -fsSLo ${app}_${arch}.deb "https://github.com/sharkdp/$app/releases/download/v$latest_version/${app}_${latest_version}_${arch}.deb"
sudo dpkg -i ${app}_${arch}.deb
rm ${app}_${arch}.deb
fi
|