Otrzymuję błąd ./test.sh: wiersz 13: [: brak `] 'w pliku test.sh Próbowałem użyć nawiasów i innych opcji, takich jak -a lub sprawdzając rozmiar pliku p1, ale błąd jest zawsze tam, a instrukcja else jest zawsze wykonywana niezależnie od danych wejściowych. Próbowałem nawet usunąć; w linii 13, ale to nie pomogło.
test.sh
#!/bin/bash
echo "Enter app name"
read y
$y &
top -b -n 1 > topLog.log
#-w checks for the whole word not and sub string from that word
grep -w "$y" topLog.log > p1
#-s option checks if the file p1 is present or not
if [ -s "p1"]; #line 13
then
echo "Successful "
else
echo "Unsuccessful"
fi
rm p1
Nie mam doświadczenia w pisaniu skryptów basha, więc jeśli jest jakiś głupi błąd, proszę mi wybaczyć.