asr / install.sh
HoneyTian's picture
update
a1550df
#!/usr/bin/env bash
# sh install.sh --stage 2 --stop_stage 2 --system_version centos
python_version=3.8.10
system_version=centos
verbose=true;
stage=-1
stop_stage=0
# parse options
while true; do
[ -z "${1:-}" ] && break; # break if there are no arguments
case "$1" in
--*) name=$(echo "$1" | sed s/^--// | sed s/-/_/g);
eval '[ -z "${'"$name"'+xxx}" ]' && echo "$0: invalid option $1" 1>&2 && exit 1;
old_value="(eval echo \\$$name)";
if [ "${old_value}" == "true" ] || [ "${old_value}" == "false" ]; then
was_bool=true;
else
was_bool=false;
fi
# Set the variable to the right value-- the escaped quotes make it work if
# the option had spaces, like --cmd "queue.pl -sync y"
eval "${name}=\"$2\"";
# Check that Boolean-valued arguments are really Boolean.
if $was_bool && [[ "$2" != "true" && "$2" != "false" ]]; then
echo "$0: expected \"true\" or \"false\": $1 $2" 1>&2
exit 1;
fi
shift 2;
;;
*) break;
esac
done
work_dir="$(pwd)"
if [ ${system_version} = "centos" ]; then
yum install -y bzip2 git lrzsz wget vim cronie
elif [ ${system_version} = "ubuntu" ]; then
apt-get install -y bzip2 git lrzsz wget vim cron
fi
if [ ${stage} -le 1 ] && [ ${stop_stage} -ge 1 ]; then
$verbose && echo "stage 1: install miniconda"
cd "${work_dir}" || exit 1;
sh ./script/install_conda.sh --system_version "${system_version}"
fi
if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
$verbose && echo "stage 2: create conda env"
# source activate MFA
conda create -n MFA python==3.8
fi