Пропавшие без вести сценариев Bash']'

Я получаю ошибку./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

Я являюсь новым для избиения сценариев. Таким образом, если существует глупая ошибка, извините меня.

62
задан 13 June 2016 в 19:27

5 ответов

Изменение

if [ -s "p1"];  #line 13

в

if [ -s "p1" ];  #line 13

отмечает пространство.

169
ответ дан 31 October 2019 в 13:09

Я получил эту ошибку при попытке использовать && оператор в одиночных скобках как [ ... && ... ]. Я должен был переключиться на [[ ... && ... ]].

22
ответ дан 31 October 2019 в 13:09

Вы пропускаете пространство после "p1":

if [ -s "p1" ];
8
ответ дан 31 October 2019 в 13:09

добавьте пространство перед закрывающей квадратной скобкой

6
ответ дан 31 October 2019 в 13:09

если [-s "p1"];

возражают против пространства :P

0
ответ дан 31 October 2019 в 13:09

Другие вопросы по тегам:

Похожие вопросы: