2015-03-16 3 views
1

У меня есть одна небольшая проблема. Если вы хотите протестировать здесь оба сценария bash. Это одна работа

#!/bin/bash 
N=40 
while [ "$N" -gt 0 ] 
do 
echo $N 
N=`expr $N - 1` 
done 

Это один не работает

#!/bin/bash 
N=40 
while [ "$N" -gt 0 ] 
do 
echo $N 
N=`expr $N -1` 
done 

как проблема Look находится на этой линии N = expr $N -1

Моя система CentOS 7

Баш, версия 4.2.45 (1) -release (x86_64-redhat-linux-gnu)

+0

Что вы имеете в виду, второй не работает? Что с этим не работает? Если они действительно идентичны, то, если они работают, они должны работать. Вы уверены, что они идентичны? Что говорит «diff» о них? –

ответ

4

- 1 - это два слова. -1 - одно слово. $N - 1 - это выражение. $N -1 - это два условия без предиката.

Вы знаете, что делать, не так ли?

+1

Ответ на этот вопрос? ;-) –

+0

@MarkSetchell - это «Сократический метод» или, по крайней мере, тег «Little Schemer» уже на мета. – kojiro

+0

'((...))' принимает все пробельные варианты. – choroba

Смежные вопросы