#!/bin/bash # bail on errors and unset variables set -euo pipefail SWIFT_VERSION=5.5.2 SWIFT_DIR=swift-$SWIFT_VERSION-RELEASE-ubuntu20.04 SWIFT_FILENAME=$SWIFT_DIR.tar.gz if [[ $(uname) = "Linux" ]]; then if which swift >/dev/null 2>/dev/null && swift --version | grep $SWIFT_VERSION >/dev/null 2>/dev/null; then echo "*** swift $SWIFT_VERSION is installed" else echo "*** installing swift" pushd $HOME if [[ -e $SWIFT_FILENAME ]]; then echo "*** $SWIFT_FILENAME exists, skipping download" else wget https://swift.org/builds/swift-$SWIFT_VERSION-release/ubuntu2004/swift-$SWIFT_VERSION-RELEASE/$SWIFT_FILENAME fi if [[ -e $SWIFT_DIR ]]; then echo "*** $SWIFT_DIR exists, skipping extraction" else tar xzf $SWIFT_FILENAME fi echo "*** add $HOME/$SWIFT_DIR/usr/bin to PATH in your shell's rc file" popd fi fi echo "*** done"