diff --git a/bin/progress_bar.sh b/bin/progress_bar.sh index 68243444..ebd8f902 100755 --- a/bin/progress_bar.sh +++ b/bin/progress_bar.sh @@ -38,5 +38,6 @@ else rm -f "$stderr_log" unset stderr_log design wait $_PID + unset $_PID set -m fi diff --git a/missions/stdin_stdout_stderr/05_stdout_stderr_redirection_merlin/init.sh b/missions/stdin_stdout_stderr/05_stdout_stderr_redirection_merlin/init.sh index cfa79bd7..769cdd7e 100644 --- a/missions/stdin_stdout_stderr/05_stdout_stderr_redirection_merlin/init.sh +++ b/missions/stdin_stdout_stderr/05_stdout_stderr_redirection_merlin/init.sh @@ -1,30 +1,35 @@ #!/bin/bash -mkdir -p "$(eval_gettext '$GSH_HOME/Castle/Observatory')" +_mission_init() { + mkdir -p "$(eval_gettext '$GSH_HOME/Castle/Observatory')" -random_string 200 > "$GSH_VAR/secret_key" + random_string 200 > "$GSH_VAR/secret_key" -if command -v cc >/dev/null -then - CC=cc -elif command -v c99 >/dev/null -then - CC=c99 -elif command -v gcc >/dev/null -then - CC=gcc -elif command -v clang >/dev/null -then - CC=clang -fi + local CC + if command -v cc >/dev/null + then + CC=cc + elif command -v c99 >/dev/null + then + CC=c99 + elif command -v gcc >/dev/null + then + CC=gcc + elif command -v clang >/dev/null + then + CC=clang + fi -# certains se débrouillent pour écraser merlin ! Il faut mieux le regénérer, -# même si le fichier existe ! -if [ -n "$CC" ] -then - $CC "$MISSION_DIR/merlin.c" -o "$GSH_VAR/merlin" - copy_bin "$GSH_VAR/merlin" "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" -else - copy_bin "$MISSION_DIR"/merlin.sh "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" - chmod 755 "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" -fi + # some student erase merlin, for example with $ ./merlin > merlin or similar. + # It is better to re-generate it each time! + if [ -n "$CC" ] + then + $CC "$MISSION_DIR/merlin.c" -o "$GSH_VAR/merlin" + copy_bin "$GSH_VAR/merlin" "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" + else + copy_bin "$MISSION_DIR"/merlin.sh "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" + chmod 755 "$(eval_gettext '$GSH_HOME/Castle/Observatory')/merlin" + fi +} + +_mission_init