@@ -11,13 +11,17 @@ set -ux
1111
1212# Set user account for which we're configuring the tools
1313USER_ACCOUNT=$1
14+ USER_ACCOUNT_HOME=$( bash -c " cd ~$( printf %q " $USER_ACCOUNT " ) && pwd" )
1415
1516# Set package manager command for this distribution
1617pac=" apt"
1718
1819# If we're not running as root, we want to prefix certain commands with sudo
1920if [[ $( whoami) == ' root' ]]; then
21+ $pac update -y
22+ $pac install -y sudo
2023 sudo=' ' ; else
24+ type -p sudo > /dev/null || (echo " Please have an administrator install sudo and add you to the sudo group before continuing." && exit 1)
2125 sudo=' sudo'
2226fi
2327
@@ -38,31 +42,31 @@ $sudo $pac install -y git
3842
3943# ### Python
4044# Install tools needed to build python
41- $sudo $pac install -y curl gcc bzip2 sqlite zlib1g-dev libreadline-dev libsqlite3-dev libssl-dev tk-dev libffi-dev xz-utils make build-essential libbz2-dev wget llvm libncursesw5-dev libxml2-dev libxmlsec1-dev liblzma-dev
45+ DEBIAN_FRONTEND=noninteractive $sudo $pac install -y curl gcc bzip2 sqlite zlib1g-dev libreadline-dev libsqlite3-dev libssl-dev tk-dev libffi-dev xz-utils make build-essential libbz2-dev wget llvm libncursesw5-dev libxml2-dev libxmlsec1-dev liblzma-dev
4246# Install pyenv
43- if [[ ! -d /home/ $USER_ACCOUNT /.pyenv ]]; then
47+ if [[ ! -d $USER_ACCOUNT_HOME /.pyenv ]]; then
4448 sudo -u " $USER_ACCOUNT " -i << 'EOF '
4549 cd $HOME
4650 curl https://pyenv.run | bash
4751EOF
4852 # Remove initialization lines from .bashrc if they are already there, so we don't duplicate them
4953 # shellcheck disable=SC2016
50- sed -i ' /export PYENV_ROOT="$HOME\/.pyenv"/d' /home/ " $USER_ACCOUNT " /.bashrc
54+ sed -i ' /export PYENV_ROOT="$HOME\/.pyenv"/d' " $USER_ACCOUNT_HOME " /.bashrc
5155 # shellcheck disable=SC2016
52- sed -i ' /command -v pyenv >\/dev\/null || export PATH="$PYENV_ROOT\/bin:$PATH"/d' /home/ " $USER_ACCOUNT " /.bashrc
56+ sed -i ' /command -v pyenv >\/dev\/null || export PATH="$PYENV_ROOT\/bin:$PATH"/d' " $USER_ACCOUNT_HOME " /.bashrc
5357 # shellcheck disable=SC2016
54- sed -i ' /eval "$(pyenv init -)"/d' /home/ " $USER_ACCOUNT " /.bashrc
58+ sed -i ' /eval "$(pyenv init -)"/d' " $USER_ACCOUNT_HOME " /.bashrc
5559 # shellcheck disable=SC2016
56- sed -i ' /eval "$(pyenv virtualenv-init -)"/d' /home/ " $USER_ACCOUNT " /.bashrc
60+ sed -i ' /eval "$(pyenv virtualenv-init -)"/d' " $USER_ACCOUNT_HOME " /.bashrc
5761 # Add initialization lines to .bashrc
5862 # shellcheck disable=SC2016
59- sed -i ' 1ieval "$(pyenv virtualenv-init -)"' /home/ " $USER_ACCOUNT " /.bashrc
63+ sed -i ' 1ieval "$(pyenv virtualenv-init -)"' " $USER_ACCOUNT_HOME " /.bashrc
6064 # shellcheck disable=SC2016
61- sed -i ' 1ieval "$(pyenv init -)"' /home/ " $USER_ACCOUNT " /.bashrc
65+ sed -i ' 1ieval "$(pyenv init -)"' " $USER_ACCOUNT_HOME " /.bashrc
6266 # shellcheck disable=SC2016
63- sed -i ' 1icommand -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' /home/ " $USER_ACCOUNT " /.bashrc
67+ sed -i ' 1icommand -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' " $USER_ACCOUNT_HOME " /.bashrc
6468 # shellcheck disable=SC2016
65- sed -i ' 1iexport PYENV_ROOT="$HOME/.pyenv"' /home/ " $USER_ACCOUNT " /.bashrc
69+ sed -i ' 1iexport PYENV_ROOT="$HOME/.pyenv"' " $USER_ACCOUNT_HOME " /.bashrc
6670 # install python
6771 sudo -u " $USER_ACCOUNT " -i << 'EOF '
6872 pyenv install 3.8.15
0 commit comments