Skip to content

Instantly share code, notes, and snippets.

@mcharo
Last active November 13, 2019 16:51
Show Gist options
  • Save mcharo/edee7a232af4a8e0763bf2cb99f47ef4 to your computer and use it in GitHub Desktop.
Save mcharo/edee7a232af4a8e0763bf2cb99f47ef4 to your computer and use it in GitHub Desktop.
Install pwsh on macOS without admin
#!/bin/bash
set -e
version=$1
if [[ -z "$version" ]]; then
cat << EOF
Usage:
$0 <version>
Example:
$0 6.2.3
EOF
exit 1
fi
if [[ ! -f "/tmp/powershell-${version}-osx-x64.tar.gz" ]]; then
echo "Downloading ${version}..."
curl -Ls https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz -o /tmp/powershell-${version}-osx-x64.tar.gz
fi
if [[ -d "$HOME/bin/packages/powershell/${version}" ]]; then
rm -rf "$HOME/bin/packages/powershell/${version}"
mkdir -p "$HOME/bin/packages/powershell/${version}"
else
echo "Creating ${version} folder..."
mkdir -p "$HOME/bin/packages/powershell/${version}"
fi
echo "Extracting ${version}..."
tar xf /tmp/powershell-${version}-osx-x64.tar.gz -C ~/bin/packages/powershell/${version}
echo "Linking ${version}..."
if [[ -L "$HOME/bin/packages/powershell/latest" ]]; then
rm "$HOME/bin/packages/powershell/latest"
fi
ln -s "$HOME/bin/packages/powershell/${version}" "$HOME/bin/packages/powershell/latest"
echo "Linking pwsh..."
if [[ ! -L "$HOME/bin/pwsh" ]]; then
ln -s "$HOME/bin/packages/powershell/latest/pwsh" "$HOME/bin/pwsh"
fi
echo "Testing pwsh ${version}"
$HOME/bin/pwsh --version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment