Witam.
Mam problem z napisaniem skryptu, który przeprowadza kompilację. Oto treść zadania:
Napisać skrypt, który
- próbuje skompilować wszystkie pliki z aktualnego katalogu, mające rozszerzenie .c,
- dla żadnego z nich nie wyświetla informacji o błędach kompilacji,
- te, które nie dają żadnych błędów kompilacji, wykonuje na danych o tej samej nazwie ale z
rozszerzeniem .in i zapisuje wyniki działania w plikach o tej samej nazwie z rozszerzeniem .out.
Wskazówka
: jeśli program poprawnie kończy działanie, to po jego wykonaniu wartość zmiennej
$PIPESTATUS jest 0; w przeciwnym razie jest niezerowa.
Aktualnie wykombinowałem taki skrypt. Wiem, że nie działa dobrze i być może cały jest niepoprawny, ale tylko tyle zdołałem napisać, bo jestem początkującym. Bardzo proszę o poprawienie skryptu i jakieś wskazówki dotyczące programowania w Bashu. Z góry dziękuję za pomoc.
#!/bin/bash
files=(`find \`pwd\` -iname "*.c" `)
for file in ${files[*]}
do
echo $file
gcc -c -Wno-all "$file" -o "$file"
done
for file in ${files[*]}
do
./"$file" < "$file.in" > "$file.out"
done
exit 0