#!/usr/bin/env bash set -euo pipefail IFS=' ' script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd) # check that test command was not used if grep -q "test" "$script_dirS"/student/file-checker.sh then echo "The 'test' command is not allowed in this exercise" exit 1 fi if test ! -e file-checker; then mkdir file-checker cd file-checker touch readable-and-writable readable-only readable-and-executable readable-writable-executable chmod -x "$script_dirS/file-checker/readable-and-writable" chmod -xw "$script_dirS/file-checker/readable-only" chmod -w "$script_dirS/file-checker/readable-and-executable" chmod +x "$script_dirS/file-checker/readable-and-executable" chmod +x "$script_dirS/file-checker/readable-writable-executable" cd .. fi challenge() { submitted=$(bash "$script_dirS"/student/file-checker.sh "$1") expected=$(bash "$script_dirS"/solutions/file-checker.sh "$1") diff <(echo "$submitted") <(echo "$expected") } challenge "$script_dirS/file-checker/readable-only" challenge "$script_dirS/file-checker/readable-and-writable" challenge "$script_dirS/file-checker/readable-and-executable" challenge "$script_dirS/file-checker/readable-writable-executable" rm -rf file-checker