Results 1 to 10 of 10

Thread: Не работает скрипт

  1. #1

    Exclamation Не работает скрипт

    На SUSE 11.2 ES не работает скрипт:

    Code:
    #!/bin/bash
    db_dir=/srv/fbdata
    db_name=mydata.fdb
    fb_dir=/opt/firebird/bin
    log=/var/log/fb_stat.log
    user=SYSDBA
    pass=masterkey
    b_date=`date +%F`
    b_time=`date +%H-%M-%S`
    echo "***************************************************************************************" >> $log
    echo "$b_time $b_date Run $db_name database check statistics" >> $log
    $fb_dir/gstat -h $db_dir/$db_name -USER $user -PAS $pass &> $log
    if [ $? -eq 0 ] ; then
      echo "$b_time $b_date Sucseffuly." >> $log
    else
      echo "$b_time $b_date Error !!!" >> $log
    fi
    echo "$b_time $b_date The End" >> $log
    Делаю
    1. chmod +rx fbgstat
    2. bash -x fbgstat

    Выдает


    + db_dir=$'/srv/fbdata\r'
    + db_name=$'mydata.fdb\r'
    + fb_dir=$'/opt/firebird/bin\r'
    + log=$'/var/log/fb_stat.log\r'
    + user=$'SYSDBA\r'
    + pass=$'masterkey\r'
    ++ date +%F
    + b_date=$'2011-10-10\r'
    ++ date +%H-%M-%S
    + b_time=$'13-41-56\r'
    + echo '***************************************************************************************'
    database check statistics'
    + $'/opt/firebird/bin\r/gstat' -h $'/srv/fbdata\r/mydata.fdb\r' -USER $'SYSDBA\r' -PAS $'masterkey\r'
    fbgstat: line 19: syntax error: unexpected end of file


    Может где косяк ? кто поможет разобраться?
    Заранее спасибо.

  2. #2

    Default re: Не работает скрипт

    bash 3.2.48(1)-release

  3. #3
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    2,953
    Blog Entries
    1

    Default re: Не работает скрипт

    Во-первых, название темы надо давать осмысленное.
    Во-вторых, скрипт писали в какой ОС?

  4. #4

    Default Re: Не работает скрипт

    Извините, поспешил. Не нахожу, как отредактитовать топик.

    FB-SLES11:/tmp # cat /etc/*release*
    SUSE Linux Enterprise Server 11 (x86_64)
    VERSION = 11
    PATCHLEVEL = 0
    LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64"
    cat: /etc/lsb-release.d: Is a directory

    там еще в коде должно быть в конце
    exit 0.

    Спасибо.

  5. #5
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    2,953
    Blog Entries
    1

    Default Re: Не работает скрипт

    Вообще-то я имел ввиду систему, в которой писался скрипт. Я вижу виндовые переводы строки в конце: "\r". И пустая строка должна быть в конце файла.

  6. #6

    Default Re: Не работает скрипт

    Да. Скрипт писался в WinXP. Нужно было написать скрипт проверки БД Firebird. Программирование скриптов начал изучать недавно (на пред. неделен). Я начал читать про BASH, нашел скрипт бэкапа в инете и набросал тестовый скрипт на его основе для получения статистики БД, с элементами ветвления - и вот результат.
    Я пользуюсь WinSCP для файлового доступа, т.к. сервер у нас проинсталлирован без граф."прибамбасов", а скрипт запускаю в терминальном режиме (Putty).
    А какой редактор посоветуете для вин-систем, чтобы можно было переносить тексты на NIX-системы? Или есь удобные утилиты по редактированию текстов в самой NIX-системе?

  7. #7

    Default Re: Не работает скрипт

    Все. В notepade (WinXP) сохранил в кодировке UTF-8 и "залил" на сервер. Скрипт отработал на ура.
    Спасибо за замечание на счет системы (имелось в виду ОС), в которой набирался скрипт.

  8. #8
    Join Date
    Jun 2008
    Location
    Moscow, Russia
    Posts
    2,953
    Blog Entries
    1

    Default Re: Не работает скрипт

    А какой редактор посоветуете для вин-систем, чтобы можно было переносить тексты на NIX-системы? Или есь удобные утилиты по редактированию текстов в самой NIX-системе?
    Для Win поищите редактор, чтобы была опция установки способа перевода строки. Для информации: Перевод строки — Википедия
    Из консольных редакторов Linux самый удобный для неподготовленного человека это редактор в файловом менеджере MC. Можно вызвать непосредственно командой 'mcedit file.name'. Ещё есть joe, но в нём посложнее.

  9. #9
    Join Date
    Jan 2009
    Location
    Russia, Saint-Petersburg
    Posts
    147

    Default Re: Не работает скрипт

    Устал уже бороться на работе с подобными ошибками...
    Используйте Notepad++ - справа внизу он указывает текущий формат: DOS/WINDOWS или UNIX, если видим первый вариант, то идем в Правка -> Конверсия конца строки -> Преобразовать в UNIX-формат.

  10. #10
    Join Date
    Aug 2010
    Location
    Russia
    Posts
    995

    Default Re: Не работает скрипт

    А ещё можно vim или emacs с помощью cygwin под виндой пускать

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •