-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdotnet.sh
More file actions
46 lines (39 loc) · 1.24 KB
/
dotnet.sh
File metadata and controls
46 lines (39 loc) · 1.24 KB
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
set -euo pipefail
# ---------- helpers ----------
log() { echo -e "\n==> $*"; }
need_cmd() { command -v "$1" >/dev/null 2>&1; }
if [[ "${EUID}" -ne 0 ]]; then
echo "Please run as root: sudo $0"
exit 1
fi
# ---------- check if already installed ----------
if need_cmd dotnet; then
log ".NET SDK already installed: $(dotnet --version)"
exit 0
fi
# ---------- install prerequisites ----------
log "Installing prerequisites..."
apt-get update -y
apt-get install -y --no-install-recommends wget
# ---------- add microsoft repository ----------
log "Adding Microsoft repository..."
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O /tmp/packages-microsoft-prod.deb
dpkg -i /tmp/packages-microsoft-prod.deb
rm /tmp/packages-microsoft-prod.deb
# ---------- install dotnet sdk ----------
log "Installing .NET SDK 8.0..."
apt-get update -y
apt-get install -y dotnet-sdk-8.0
log "Done."
echo ""
echo "=========================================="
echo " .NET SDK Installation Complete!"
echo "=========================================="
echo ""
echo ".NET SDK: $(dotnet --version)"
echo ""
echo "Create new project:"
echo " dotnet new console -n MyApp"
echo " cd MyApp && dotnet run"
echo ""