The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Bash кириллица, !*! Alex, 20-Сен-17, 16:30  [смотреть все]
простая операция сравнения:

if [ $dd -eq "1" ] ;
then
  echo "ura" ;
fi

если dd равна 2, то все работает, а если "п"
то получаем:
integer expression expected

что с этим можно поделать ?

  • Bash кириллица, !*! someone_somewhere, 17:12 , 20-Сен-17 (1)
    > простая операция сравнения:
    > if [ $dd -eq "1" ] ;
    >  then
    >   echo "ura" ;
    > fi
    > если dd равна 2, то все работает, а если "п"
    > то получаем:
    > integer expression expected

    Вы сравниваете строку с числом

    > что с этим можно поделать ?

    man test. Совсем в кратце используйте = для сравнения строк.

    • Bash кириллица, !*! Igor, 14:55 , 26-Сен-17 (3)
      >[оверквотинг удален]
      >> if [ $dd -eq "1" ] ;
      >>  then
      >>   echo "ura" ;
      >> fi
      >> если dd равна 2, то все работает, а если "п"
      >> то получаем:
      >> integer expression expected
      > Вы сравниваете строку с числом
      >> что с этим можно поделать ?
      > man test. Совсем в кратце используйте = для сравнения строк.

      на случай если $dd пустое
      if [ "AAA$dd" = "AAA1" ]

      • Bash кириллица, !*! Andrey Mitrofanov, 16:12 , 26-Сен-17 (4)
        >[оверквотинг удален]
        >>>   echo "ura" ;
        >>> fi
        >>> если dd равна 2, то все работает, а если "п"
        >>> то получаем:
        >>> integer expression expected
        >> Вы сравниваете строку с числом
        >>> что с этим можно поделать ?
        >> man test. Совсем в кратце используйте = для сравнения строк.
        > на случай если $dd пустое
        > if [ "AAA$dd" = "AAA1" ]

        Кавычек достаточно, вроде.

        А тадиционная записьX$var не работает с пробелами (но работатает, пока известно, что "слово" одно или "пусто").

        $ bash -c 'isE() { echo "## $1:";[ X$1 = X ] && echo Empty || echo not;}; isE ""; isE 0; isE "1 2 3"'
        ## :
        Empty
        ## 0:
        not
        ## 1 2 3:
        bash: line 0: [: слишком много аргументов
        not
        $ bash -c 'isE() { echo "## $1:";[ "$1" = "" ] && echo Empty || echo not;}; isE ""; isE 0; isE "1 2 3"'
        ## :
        Empty
        ## 0:
        not
        ## 1 2 3:
        not
        $ _
        ((у меня здесь s/bash -c/dash -c/ также кажет то же. Из других только rbash подрукой--))
  • Bash кириллица, !*! Andrey Mitrofanov, 08:43 , 21-Сен-17 (2)
    > простая операция сравнения:
    > if [ $dd -eq "1" ] ;

    if [ $dd -eq "1" ] &>/dev/null ;

    >  then
    >   echo "ura" ;
    > fi
    > что с этим можно поделать ?

    например,




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

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