[1: not found (условия в bash)

[1: not found (условия в bash)

01.10.2015 06:40:36 Просмотров 25 Источник

Вот скрипт:

#!/bin/sh
for i in  1 2 4 8
do

if [$i = 1 ]
then
    make
    fakeroot time make -j  --initrd --append-to-version=-custom kernel_image kernel_headers 
exit
else
    make
fakeroot time make -j $i  --initrd --append-to-version=-custom kernel_image kernel_headers 
fi;
done

а вот что он выдает...

5: ./start.sh: [1: not found

тоесть ругается конкретно на if - как правильно написать?

У вопроса есть решение - Посмотреть?

Ответы - [1: not found (условия в bash) / [1: not found (условия в bash)

Является ответом!
Nikolay

14.10.2015 12:14:27

Нужен пробел после [.

Дело в том, что после if должно стоять истина или ложь. Поэтому [ - это команда (как и любая команда, она возвращает результат своего выполнения), которой передаются параметры вплоть до конца строки или до ;. В вашем случае bash ругается на то, что не нашел команды [1.

Закрыть X