The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"объединение выражений в if"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"объединение выражений в if"  
Сообщение от sickboy email(ok) on 19-Мрт-07, 00:11 
Привет.

Как правильно записать такую конструкцию:

if
  id user1 AND id user2 # т.е. если exp1 истина и exp2 истина то,
then
  ...
else
  ...
fi

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "объединение выражений в if"  
Сообщение от allez (ok) on 19-Мрт-07, 08:05 
>Привет.
>
>Как правильно записать такую конструкцию:
>
>if
>  id user1 AND id user2 # т.е. если exp1 истина
>и exp2 истина то,
>then
>  ...
>else
>  ...
>fi

Можно так:

if [ id user1 ] && [ id user2 ]
  then
  ...
  else
  ...
fi

Или так:
if [ id user1 -a id user2 ]
  then
  ...
  else
  ...
fi
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "объединение выражений в if"  
Сообщение от sickboy email(ok) on 19-Мрт-07, 11:05 
А почему тогда не работает такой вариант?

if [ id user1 | cat >/dev/null 2>&1 -a id user2 >/dev/null 2>&1 ]
then
    echo "1"
else
    echo "2"
fi

$ ./test.sh
./test.sh: line 3: [: missing `]'
2

Из-за pipe'а?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "объединение выражений в if"  
Сообщение от allez (ok) on 19-Мрт-07, 11:14 
>А почему тогда не работает такой вариант?
>
>if [ id user1 | cat >/dev/null 2>&1 -a id user2 >/dev/null 2>&1 ]
>then
>    echo "1"
>else
>    echo "2"
>fi
>
>$ ./test.sh
>./test.sh: line 3: [: missing `]'
>2
>
>Из-за pipe'а?

Скорее из-за моей невнимательности. Но пайп тут тоже ни к селу, ни к городу.
Попробуйте так:


if id user1 >/dev/null 2>&1 && id user2 >/dev/null 2>&1
then
    echo "1"
else
    echo "2"
fi
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "объединение выражений в if"  
Сообщение от sickboy email(ok) on 19-Мрт-07, 13:22 
Разобрался, спасибо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "объединение выражений в if"  
Сообщение от allez (ok) on 19-Мрт-07, 11:51 
P. S. Возможен и такой вариант:
id user1 >/dev/null 2>&1 && id user2 >/dev/null 2>&1 && echo "1" || echo "2"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру