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.
99 lines
2.8 KiB
99 lines
2.8 KiB
#!/usr/bin/env bash |
|
|
|
# Unofficial Bash Strict Mode |
|
set -euo pipefail |
|
IFS=' |
|
' |
|
FILENAME="student/append-output.sh" |
|
script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd) |
|
|
|
if test ! -e append-output; then |
|
mkdir append-output |
|
cat <<EOF >append-output/results.txt |
|
"In the End" - Linkin Park |
|
"Crawling" - Linkin Park |
|
"Elevation" - U2 |
|
"Get the Party Started" - Pink |
|
"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink |
|
EOF |
|
cat <<EOF >append-output/songs.txt |
|
"Breathe" - Faith Hill |
|
"It Wasn't Me" - Shaggy featuring Ricardo "RikRok" Ducent |
|
"Hanging by a Moment" - Lifehouse |
|
"Shape of My Heart" - Backstreet Boys |
|
"Thank You" - Dido |
|
"I'm Like a Bird" - Nelly Furtado |
|
"Family Affair" - Mary J. Blige |
|
"Fallin'" - Alicia Keys |
|
"All for You" - Janet Jackson |
|
"I Wanna Know" - Joe |
|
"U Remind Me" - Usher |
|
"U Got It Bad" - Usher |
|
"I'm a Believer" - Smash Mouth |
|
"Get the Party Started" - Pink |
|
"Wherever You Will Go" - The Calling |
|
"In the End" - Linkin Park |
|
"Loser" - Beck |
|
"Get Ur Freak On" - Missy Elliott |
|
"I'm Real" - Jennifer Lopez |
|
"Butterfly" - Crazy Town |
|
"Crawling" - Linkin Park |
|
"I'm a Slave 4 U" - Britney Spears |
|
"Elevation" - U2 |
|
"Lady Marmalade" - Christina Aguilera, Lil' Kim, Mya, Pink |
|
"Play" - Jennifer Lopez |
|
"I'm Just a Kid" - Simple Plan |
|
"Imitation of Life" - R.E.M. |
|
"Big Pimpin'" - Jay-Z |
|
"Stutter" - Joe featuring Mystikal |
|
"I Wish" - R. Kelly |
|
"This Is the Night" - Clay Aiken |
|
"Hella Good" - No Doubt |
|
"I Know" - Dionne Farris |
|
"I'll Be Missing You" - Puff Daddy and Faith Evans featuring 112 |
|
"I Try" - Macy Gray |
|
"Thong Song" - Sisqo |
|
"Survivor" - Destiny's Child |
|
"I Want It That Way" - Backstreet Boys |
|
"Bad Day" - Daniel Powter |
|
"I'm Like a Bird" - Nelly Furtado |
|
"I Need to Know" - Marc Anthony |
|
"Follow Me" - Uncle Kracker |
|
"Hemorrhage (In My Hands)" - Fuel |
|
"Soak Up the Sun" - Sheryl Crow |
|
"I Hope You Dance" - Lee Ann Womack |
|
"Can't Get You Out of My Head" - Kylie Minogue |
|
"I Just Wanna Love U (Give It 2 Me)" - Jay-Z |
|
"My Love Is Your Love" - Whitney Houston |
|
"Bounce with Me" - Lil' Bow Wow |
|
"Where the Party At" - Jagged Edge |
|
"I'm Already There" - Lonestar |
|
"I Don't Want to Miss a Thing" - Aerosmith |
|
"If You Could Read My Mind" - Stars on 54 |
|
"My Way" - Usher |
|
"Always on Time" - Ja Rule featuring Ashanti |
|
EOF |
|
fi |
|
challenge() { |
|
$(cd "$1" && bash "$script_dirS"/$FILENAME) |
|
submitted=$(cat $1/results.txt) |
|
rm $1"/results.txt" |
|
$(cd "$1" && bash "$script_dirS"/solutions/append-output.sh) |
|
expected=$(cat $1/results.txt) |
|
diff <(echo "$submitted") <(echo "$expected") |
|
} |
|
|
|
if [ -s ${FILENAME} ]; then |
|
if [[ $(cat $FILENAME | grep "cat <<EOF >results.txt" | wc -l) -ne 0 ]]; then |
|
echo "cheating is not allowed in this exercise!" |
|
exit 1 |
|
elif |
|
[[ $(cat $FILENAME | grep echo | wc -l) -ne 0 ]] |
|
then |
|
echo "cheating is not allowed in this exercise!" |
|
exit 1 |
|
fi |
|
fi |
|
|
|
challenge append-output |
|
rm -r append-output
|
|
|