Я получаю ошибку./test.sh: строка 13: [: отсутствие']' в файле test.sh, я пытался использовать скобки и другие опции, такие как-a или путем проверки размера файла p1, но ошибка еще всегда там и оператор, всегда выполняется независимо от данного входа. Я даже попробованный путем удаления; в строке 13, но это не помогло.
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
Я являюсь новым для избиения сценариев. Таким образом, если существует глупая ошибка, извините меня.
Изменение
if [ -s "p1"]; #line 13
в
if [ -s "p1" ]; #line 13
отмечает пространство.
Я получил эту ошибку при попытке использовать &&
оператор в одиночных скобках как [ ... && ... ]
. Я должен был переключиться на [[ ... && ... ]]
.
Вы пропускаете пространство после "p1"
:
if [ -s "p1" ];
добавьте пространство перед закрывающей квадратной скобкой
если [-s "p1"];
возражают против пространства :P