60 lines
990 B
Bash
Executable File
60 lines
990 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
echo "This script is going to attempt set up my system and it's dependencies. As such it will ask for root privilages."
|
|
|
|
read -r -p "Are you sure you want to continue? [Y/n] " input
|
|
case $input in
|
|
[nN][oO] | [nN])
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "continuing..."
|
|
;;
|
|
esac
|
|
|
|
check
|
|
|
|
script_dir=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
|
|
filter=""
|
|
dry="0"
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
if [[ $1 == "--dry" ]]; then
|
|
dry="1"
|
|
else
|
|
filter="$1"
|
|
fi
|
|
shift
|
|
done
|
|
|
|
log() {
|
|
if [[ dry -eq "1" ]]; then
|
|
echo "[DRY_RUN]: $@"
|
|
else
|
|
echo "$@"
|
|
fi
|
|
}
|
|
|
|
execute() {
|
|
log "execute $*"
|
|
if [[ dry -eq "1" ]]; then
|
|
return
|
|
fi
|
|
|
|
"$@"
|
|
}
|
|
|
|
log "$script_dir -- $filter"
|
|
|
|
cd "$script_dir" || exit 1
|
|
scripts=$(find ./runs -maxdepth 1 -mindepth 1 -executable -type f)
|
|
|
|
for script in $scripts; do
|
|
if echo "$script" | grep -qv "$filter"; then
|
|
log "filtering $script"
|
|
continue
|
|
fi
|
|
|
|
execute "$script"
|
|
done
|