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.
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# Unofficial Bash Strict Mode
|
|
|
|
set -euo pipefail
|
|
|
|
IFS='
|
|
|
|
'
|
|
|
|
script_dir=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd)
|
|
|
|
|
|
|
|
rm -rf better-cat-files
|
|
|
|
mkdir better-cat-files
|
|
|
|
cd better-cat-files
|
|
|
|
|
|
|
|
for i in {1..3}; do
|
|
|
|
echo "This is line $i of file2" >> "file2.txt"
|
|
|
|
done
|
|
|
|
|
|
|
|
for i in {1..10}; do
|
|
|
|
echo "This is line $i of file3" >> "file3.txt"
|
|
|
|
echo "This is line $i of commented" >> "commented.txt"
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "This is the content of file1" > "file1.txt"
|
|
|
|
echo "# commented" > "commented.txt"
|
|
|
|
|
|
|
|
challenge() {
|
|
|
|
submitted=$(bash "$script_dir"/student/better-cat.sh "$@")
|
|
|
|
expected=$(bash "$script_dir"/solutions/better-cat.sh "$@")
|
|
|
|
diff <(echo "$submitted") <(echo "$expected")
|
|
|
|
}
|
|
|
|
|
|
|
|
challenge "file1.txt"
|
|
|
|
challenge "file1.txt" "file2.txt" "file3.txt"
|
|
|
|
challenge *.txt
|
|
|
|
challenge
|
|
|
|
challenge -c "commented.txt"
|
|
|
|
challenge -l "file1.txt"
|
|
|
|
challenge -r "file1.txt"
|
|
|
|
challenge -cl "commented.txt"
|
|
|
|
challenge -clr "commented.txt"
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
rm -rf better-cat-files
|