nixp.ru v3.0

24 мая 2017,
среда,
18:39:52 MSK

DevOps с компанией «Флант»
bezpal написал 20 мая 2005 года в 15:37 (294 просмотра) Ведет себя как мужчина; открыл 9 тем в форуме, оставил 9 комментариев на сайте.

Пользователь вызывая процедуру передает ей 6 параметров, первые 5 это алгебраическое выражение, 6-й параметр просто какое то число.

Например: sh proc1 1 + 2 + 3 120

1.Как в переменную А запихнуть значение выражения?

А=$(expr $1$2$3$4$5) — не работает

A=`expr $1$2$3$4$5` — не работает

2.Как потом сравнить A c 6 параметром?

if [$A -eq $6] — так?

Uncle Theodore

Ну, например, так

#!/bin/sh
stringa="$1$2$3$4$5"
A=$((stringa))
echo $A
if [[ $A -eq $6 ]]
then echo "Tochno"
fi

Только твой пользователь должен разделять символы арифметического выражения пробелами, что странно…

Good Luck,

UT

bezpal

А если выражение задается одним параметром, тогда как это все делать?

Uncle Theodore

Тогда, наверное, вот так, n’est pas?

#!/bin/sh
#stringa="$1$2$3$4$5"
stringa=$1
A=$((stringa))
echo $A
if [[ $A -eq $2 ]]
then echo "Tochno"
fi

Good Luck,

UT