mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
#!/usr/bin/env bash |
|
|
|
# Unofficial Bash Strict Mode |
|
set -euo pipefail |
|
IFS=' |
|
' |
|
|
|
FILENAME="student/in-back-ground.sh" |
|
script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd) |
|
|
|
echo "- Australia is wider than the moon. The moon sits at 3400km in diameter, while Australia's diameter from east to west is almost 4000km." >facts |
|
|
|
challenge() { |
|
submitted=$(cd "$1" && bash "$script_dirS"/$FILENAME) |
|
std_out=$(cat output.txt) |
|
expected=$(cd "$1" && bash "$script_dirS"/solutions/in-back-ground.sh) |
|
sol_out=$(cat output.txt) |
|
diff <(echo "$submitted") <(echo "$expected") |
|
diff <(echo "$std_out") <(echo "$sol_out") |
|
} |
|
|
|
challenge_no_output() { |
|
if [[ -f output.txt ]]; then |
|
exit 1 |
|
fi |
|
submitted=$(cd "$1" && bash "$script_dirS"/$FILENAME) |
|
expected=$(cd "$1" && bash "$script_dirS"/solutions/in-back-ground.sh) |
|
diff <(echo "$submitted") <(echo "$expected") |
|
} |
|
|
|
if [[ $(cat $FILENAME | grep 'nohup' | wc -l) -lt 1 ]]; then |
|
echo "The file does not contain the required commands" |
|
exit 1 |
|
fi |
|
|
|
challenge . |
|
rm output.txt |
|
|
|
echo "The sun is a star!" >facts |
|
challenge_no_output .
|
|
|